Skip to content

Commit 6646deb

Browse files
authored
[pigeon] Replace containsKey with contains in Kotlin generator (#10274)
fixes flutter/flutter#177097
1 parent da23dff commit 6646deb

File tree

9 files changed

+12
-7
lines changed

9 files changed

+12
-7
lines changed

packages/pigeon/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 26.0.3
2+
3+
* [kotlin] Removes all `containsKey` and replaces with `contains`.
4+
15
## 26.0.2
26

37
* [kotlin] Fixes support for classes that override equals and hashCode for ProxyApis.

packages/pigeon/example/app/android/app/src/main/kotlin/dev/flutter/pigeon_example_app/EventChannelMessages.g.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ private object EventChannelMessagesPigeonUtils {
3434
}
3535
if (a is Map<*, *> && b is Map<*, *>) {
3636
return a.size == b.size &&
37-
a.all { (b as Map<Any?, Any?>).containsKey(it.key) && deepEquals(it.value, b[it.key]) }
37+
a.all { (b as Map<Any?, Any?>).contains(it.key) && deepEquals(it.value, b[it.key]) }
3838
}
3939
return a == b
4040
}

packages/pigeon/example/app/android/app/src/main/kotlin/dev/flutter/pigeon_example_app/Messages.g.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private object MessagesPigeonUtils {
5656
}
5757
if (a is Map<*, *> && b is Map<*, *>) {
5858
return a.size == b.size &&
59-
a.all { (b as Map<Any?, Any?>).containsKey(it.key) && deepEquals(it.value, b[it.key]) }
59+
a.all { (b as Map<Any?, Any?>).contains(it.key) && deepEquals(it.value, b[it.key]) }
6060
}
6161
return a == b
6262
}

packages/pigeon/lib/src/generator_tools.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import 'generator.dart';
1515
/// The current version of pigeon.
1616
///
1717
/// This must match the version in pubspec.yaml.
18-
const String pigeonVersion = '26.0.2';
18+
const String pigeonVersion = '26.0.3';
1919

2020
/// Read all the content from [stdin] to a String.
2121
String readStdin() {

packages/pigeon/lib/src/kotlin/kotlin_generator.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1341,7 +1341,7 @@ fun deepEquals(a: Any?, b: Any?): Boolean {
13411341
}
13421342
if (a is Map<*, *> && b is Map<*, *>) {
13431343
return a.size == b.size && a.all {
1344-
(b as Map<Any?, Any?>).containsKey(it.key) &&
1344+
(b as Map<Any?, Any?>).contains(it.key) &&
13451345
deepEquals(it.value, b[it.key])
13461346
}
13471347
}

packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/CoreTests.gen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private object CoreTestsPigeonUtils {
5959
}
6060
if (a is Map<*, *> && b is Map<*, *>) {
6161
return a.size == b.size &&
62-
a.all { (b as Map<Any?, Any?>).containsKey(it.key) && deepEquals(it.value, b[it.key]) }
62+
a.all { (b as Map<Any?, Any?>).contains(it.key) && deepEquals(it.value, b[it.key]) }
6363
}
6464
return a == b
6565
}

packages/pigeon/platform_tests/test_plugin/android/src/main/kotlin/com/example/test_plugin/EventChannelTests.gen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ private object EventChannelTestsPigeonUtils {
3737
}
3838
if (a is Map<*, *> && b is Map<*, *>) {
3939
return a.size == b.size &&
40-
a.all { (b as Map<Any?, Any?>).containsKey(it.key) && deepEquals(it.value, b[it.key]) }
40+
a.all { (b as Map<Any?, Any?>).contains(it.key) && deepEquals(it.value, b[it.key]) }
4141
}
4242
return a == b
4343
}

packages/pigeon/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: pigeon
22
description: Code generator tool to make communication between Flutter and the host platform type-safe and easier.
33
repository: https://github.com/flutter/packages/tree/main/packages/pigeon
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+pigeon%22
5-
version: 26.0.2 # This must match the version in lib/src/generator_tools.dart
5+
version: 26.0.3 # This must match the version in lib/src/generator_tools.dart
66

77
environment:
88
sdk: ^3.7.0

packages/pigeon/test/kotlin_generator_test.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ void main() {
5555
expect(code, contains('val field1: Long? = null'));
5656
expect(code, contains('fun fromList(pigeonVar_list: List<Any?>): Foobar'));
5757
expect(code, contains('fun toList(): List<Any?>'));
58+
expect(code, isNot(contains('containsKey')));
5859
});
5960

6061
test('gen one enum', () {

0 commit comments

Comments
 (0)