Skip to content

Commit b4decd8

Browse files
[tool] Ensure that all packages format with correct language version (#10374)
This fixes two issues with the format command's language resolution handling: - It was not running `pub get` in sub-packages, so for the rare case of sub-packages with different min versions than their enclosing package, format behavior was inconsistent, and incorrect in CI where the tree starts clean. - It was not detecting stale resolution, which was annoying when formatting locally since it's not uncommon to have last run `pub get` for some package before the last min SDK bump for that package, causing local formatting to be incorrect. This was especially problematic when doing min SDK bumps for the entire repo after `stable` releases. It also fixes the related problem that `fetch-deps` was not running `pub get` in sub-packages, which would have prevented the pigeon issue in CI, but not locally. Even with `format` fixed, we still want everything fetched in `fetch-deps`. The parsing does depend on internal implementation details of Dart, but we don't expect those to change frequently, and if it does we can update the detection logic as necessary. The failure mode should either be to throw, which we'll catch during the roll, or to run `pub get` more than necessary, which would just be an optimization issue rather than a correctness issue. Includes `pigeon` format changes, since now CI is enforcing the correct format instead of the incorrect format that was checked in. Fixes flutter/flutter#178072 Helps with flutter/flutter#176853 ## Pre-Review Checklist [^1]: Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling.
1 parent 150da4f commit b4decd8

28 files changed

+624
-356
lines changed

packages/pigeon/example/app/lib/main.dart

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -137,16 +137,14 @@ class _MyHomePageState extends State<MyHomePage> {
137137
if (Platform.isAndroid || Platform.isIOS)
138138
StreamBuilder<String>(
139139
stream: getEventStream(),
140-
builder: (
141-
BuildContext context,
142-
AsyncSnapshot<String> snapshot,
143-
) {
144-
if (snapshot.hasData) {
145-
return Text(snapshot.data ?? '');
146-
} else {
147-
return const CircularProgressIndicator();
148-
}
149-
},
140+
builder:
141+
(BuildContext context, AsyncSnapshot<String> snapshot) {
142+
if (snapshot.hasData) {
143+
return Text(snapshot.data ?? '');
144+
} else {
145+
return const CircularProgressIndicator();
146+
}
147+
},
150148
)
151149
else
152150
const Text('event channels are not supported on this platform'),

packages/pigeon/example/app/lib/src/messages.g.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,9 @@ class ExampleHostApi {
143143
BinaryMessenger? binaryMessenger,
144144
String messageChannelSuffix = '',
145145
}) : pigeonVar_binaryMessenger = binaryMessenger,
146-
pigeonVar_messageChannelSuffix =
147-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
146+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
147+
? '.$messageChannelSuffix'
148+
: '';
148149
final BinaryMessenger? pigeonVar_binaryMessenger;
149150

150151
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -256,8 +257,9 @@ abstract class MessageFlutterApi {
256257
BinaryMessenger? binaryMessenger,
257258
String messageChannelSuffix = '',
258259
}) {
259-
messageChannelSuffix =
260-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
260+
messageChannelSuffix = messageChannelSuffix.isNotEmpty
261+
? '.$messageChannelSuffix'
262+
: '';
261263
{
262264
final BasicMessageChannel<Object?>
263265
pigeonVar_channel = BasicMessageChannel<Object?>(

packages/pigeon/platform_tests/shared_test_plugin_code/lib/integration_tests.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2983,8 +2983,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) {
29832983

29842984
testWidgets('callFlutterEchoProxyApiMap', (_) async {
29852985
final ProxyApiTestClass api = _createGenericProxyApiTestClass(
2986-
flutterEchoProxyApiMap:
2987-
(_, Map<String?, ProxyApiTestClass?> aMap) => aMap,
2986+
flutterEchoProxyApiMap: (_, Map<String?, ProxyApiTestClass?> aMap) =>
2987+
aMap,
29882988
);
29892989

29902990
final Map<String?, ProxyApiTestClass?> value =
@@ -3087,8 +3087,8 @@ void runPigeonIntegrationTests(TargetGenerator targetGenerator) {
30873087

30883088
testWidgets('callFlutterEchoNullableProxyApi', (_) async {
30893089
final ProxyApiTestClass api = _createGenericProxyApiTestClass(
3090-
flutterEchoNullableProxyApi:
3091-
(_, ProxyApiSuperClass? aProxyApi) => aProxyApi,
3090+
flutterEchoNullableProxyApi: (_, ProxyApiSuperClass? aProxyApi) =>
3091+
aProxyApi,
30923092
);
30933093

30943094
expect(await api.callFlutterEchoNullableProxyApi(null), null);

packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/background_platform_channels.gen.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ class BackgroundApi2Host {
4848
BinaryMessenger? binaryMessenger,
4949
String messageChannelSuffix = '',
5050
}) : pigeonVar_binaryMessenger = binaryMessenger,
51-
pigeonVar_messageChannelSuffix =
52-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
51+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
52+
? '.$messageChannelSuffix'
53+
: '';
5354
final BinaryMessenger? pigeonVar_binaryMessenger;
5455

5556
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();

packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/core_tests.gen.dart

Lines changed: 59 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,10 @@ class AllTypes {
245245
intMap: (result[23] as Map<Object?, Object?>?)!.cast<int, int>(),
246246
enumMap: (result[24] as Map<Object?, Object?>?)!.cast<AnEnum, AnEnum>(),
247247
objectMap: (result[25] as Map<Object?, Object?>?)!.cast<Object, Object>(),
248-
listMap:
249-
(result[26] as Map<Object?, Object?>?)!.cast<int, List<Object?>>(),
250-
mapMap:
251-
(result[27] as Map<Object?, Object?>?)!
252-
.cast<int, Map<Object?, Object?>>(),
248+
listMap: (result[26] as Map<Object?, Object?>?)!
249+
.cast<int, List<Object?>>(),
250+
mapMap: (result[27] as Map<Object?, Object?>?)!
251+
.cast<int, Map<Object?, Object?>>(),
253252
);
254253
}
255254

@@ -433,23 +432,21 @@ class AllNullableTypes {
433432
objectList: (result[19] as List<Object?>?)?.cast<Object?>(),
434433
listList: (result[20] as List<Object?>?)?.cast<List<Object?>?>(),
435434
mapList: (result[21] as List<Object?>?)?.cast<Map<Object?, Object?>?>(),
436-
recursiveClassList:
437-
(result[22] as List<Object?>?)?.cast<AllNullableTypes?>(),
435+
recursiveClassList: (result[22] as List<Object?>?)
436+
?.cast<AllNullableTypes?>(),
438437
map: result[23] as Map<Object?, Object?>?,
439-
stringMap:
440-
(result[24] as Map<Object?, Object?>?)?.cast<String?, String?>(),
438+
stringMap: (result[24] as Map<Object?, Object?>?)
439+
?.cast<String?, String?>(),
441440
intMap: (result[25] as Map<Object?, Object?>?)?.cast<int?, int?>(),
442441
enumMap: (result[26] as Map<Object?, Object?>?)?.cast<AnEnum?, AnEnum?>(),
443-
objectMap:
444-
(result[27] as Map<Object?, Object?>?)?.cast<Object?, Object?>(),
445-
listMap:
446-
(result[28] as Map<Object?, Object?>?)?.cast<int?, List<Object?>?>(),
447-
mapMap:
448-
(result[29] as Map<Object?, Object?>?)
449-
?.cast<int?, Map<Object?, Object?>?>(),
450-
recursiveClassMap:
451-
(result[30] as Map<Object?, Object?>?)
452-
?.cast<int?, AllNullableTypes?>(),
442+
objectMap: (result[27] as Map<Object?, Object?>?)
443+
?.cast<Object?, Object?>(),
444+
listMap: (result[28] as Map<Object?, Object?>?)
445+
?.cast<int?, List<Object?>?>(),
446+
mapMap: (result[29] as Map<Object?, Object?>?)
447+
?.cast<int?, Map<Object?, Object?>?>(),
448+
recursiveClassMap: (result[30] as Map<Object?, Object?>?)
449+
?.cast<int?, AllNullableTypes?>(),
453450
);
454451
}
455452

@@ -623,17 +620,16 @@ class AllNullableTypesWithoutRecursion {
623620
listList: (result[19] as List<Object?>?)?.cast<List<Object?>?>(),
624621
mapList: (result[20] as List<Object?>?)?.cast<Map<Object?, Object?>?>(),
625622
map: result[21] as Map<Object?, Object?>?,
626-
stringMap:
627-
(result[22] as Map<Object?, Object?>?)?.cast<String?, String?>(),
623+
stringMap: (result[22] as Map<Object?, Object?>?)
624+
?.cast<String?, String?>(),
628625
intMap: (result[23] as Map<Object?, Object?>?)?.cast<int?, int?>(),
629626
enumMap: (result[24] as Map<Object?, Object?>?)?.cast<AnEnum?, AnEnum?>(),
630-
objectMap:
631-
(result[25] as Map<Object?, Object?>?)?.cast<Object?, Object?>(),
632-
listMap:
633-
(result[26] as Map<Object?, Object?>?)?.cast<int?, List<Object?>?>(),
634-
mapMap:
635-
(result[27] as Map<Object?, Object?>?)
636-
?.cast<int?, Map<Object?, Object?>?>(),
627+
objectMap: (result[25] as Map<Object?, Object?>?)
628+
?.cast<Object?, Object?>(),
629+
listMap: (result[26] as Map<Object?, Object?>?)
630+
?.cast<int?, List<Object?>?>(),
631+
mapMap: (result[27] as Map<Object?, Object?>?)
632+
?.cast<int?, Map<Object?, Object?>?>(),
637633
);
638634
}
639635

@@ -709,13 +705,11 @@ class AllClassesWrapper {
709705
result[1] as AllNullableTypesWithoutRecursion?,
710706
allTypes: result[2] as AllTypes?,
711707
classList: (result[3] as List<Object?>?)!.cast<AllTypes?>(),
712-
nullableClassList:
713-
(result[4] as List<Object?>?)
714-
?.cast<AllNullableTypesWithoutRecursion?>(),
708+
nullableClassList: (result[4] as List<Object?>?)
709+
?.cast<AllNullableTypesWithoutRecursion?>(),
715710
classMap: (result[5] as Map<Object?, Object?>?)!.cast<int?, AllTypes?>(),
716-
nullableClassMap:
717-
(result[6] as Map<Object?, Object?>?)
718-
?.cast<int?, AllNullableTypesWithoutRecursion?>(),
711+
nullableClassMap: (result[6] as Map<Object?, Object?>?)
712+
?.cast<int?, AllNullableTypesWithoutRecursion?>(),
719713
);
720714
}
721715

@@ -845,8 +839,9 @@ class HostIntegrationCoreApi {
845839
BinaryMessenger? binaryMessenger,
846840
String messageChannelSuffix = '',
847841
}) : pigeonVar_binaryMessenger = binaryMessenger,
848-
pigeonVar_messageChannelSuffix =
849-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
842+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
843+
? '.$messageChannelSuffix'
844+
: '';
850845
final BinaryMessenger? pigeonVar_binaryMessenger;
851846

852847
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -5842,8 +5837,9 @@ abstract class FlutterIntegrationCoreApi {
58425837
BinaryMessenger? binaryMessenger,
58435838
String messageChannelSuffix = '',
58445839
}) {
5845-
messageChannelSuffix =
5846-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
5840+
messageChannelSuffix = messageChannelSuffix.isNotEmpty
5841+
? '.$messageChannelSuffix'
5842+
: '';
58475843
{
58485844
final BasicMessageChannel<Object?>
58495845
pigeonVar_channel = BasicMessageChannel<Object?>(
@@ -6274,8 +6270,8 @@ abstract class FlutterIntegrationCoreApi {
62746270
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoList was null.',
62756271
);
62766272
final List<Object?> args = (message as List<Object?>?)!;
6277-
final List<Object?>? arg_list =
6278-
(args[0] as List<Object?>?)?.cast<Object?>();
6273+
final List<Object?>? arg_list = (args[0] as List<Object?>?)
6274+
?.cast<Object?>();
62796275
assert(
62806276
arg_list != null,
62816277
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoList was null, expected non-null List<Object?>.',
@@ -6309,8 +6305,8 @@ abstract class FlutterIntegrationCoreApi {
63096305
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnumList was null.',
63106306
);
63116307
final List<Object?> args = (message as List<Object?>?)!;
6312-
final List<AnEnum?>? arg_enumList =
6313-
(args[0] as List<Object?>?)?.cast<AnEnum?>();
6308+
final List<AnEnum?>? arg_enumList = (args[0] as List<Object?>?)
6309+
?.cast<AnEnum?>();
63146310
assert(
63156311
arg_enumList != null,
63166312
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoEnumList was null, expected non-null List<AnEnum?>.',
@@ -6381,8 +6377,8 @@ abstract class FlutterIntegrationCoreApi {
63816377
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullEnumList was null.',
63826378
);
63836379
final List<Object?> args = (message as List<Object?>?)!;
6384-
final List<AnEnum>? arg_enumList =
6385-
(args[0] as List<Object?>?)?.cast<AnEnum>();
6380+
final List<AnEnum>? arg_enumList = (args[0] as List<Object?>?)
6381+
?.cast<AnEnum>();
63866382
assert(
63876383
arg_enumList != null,
63886384
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullEnumList was null, expected non-null List<AnEnum>.',
@@ -6670,8 +6666,8 @@ abstract class FlutterIntegrationCoreApi {
66706666
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullIntMap was null.',
66716667
);
66726668
final List<Object?> args = (message as List<Object?>?)!;
6673-
final Map<int, int>? arg_intMap =
6674-
(args[0] as Map<Object?, Object?>?)?.cast<int, int>();
6669+
final Map<int, int>? arg_intMap = (args[0] as Map<Object?, Object?>?)
6670+
?.cast<int, int>();
66756671
assert(
66766672
arg_intMap != null,
66776673
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNonNullIntMap was null, expected non-null Map<int, int>.',
@@ -6998,8 +6994,8 @@ abstract class FlutterIntegrationCoreApi {
69986994
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableList was null.',
69996995
);
70006996
final List<Object?> args = (message as List<Object?>?)!;
7001-
final List<Object?>? arg_list =
7002-
(args[0] as List<Object?>?)?.cast<Object?>();
6997+
final List<Object?>? arg_list = (args[0] as List<Object?>?)
6998+
?.cast<Object?>();
70036999
try {
70047000
final List<Object?>? output = api.echoNullableList(arg_list);
70057001
return wrapResponse(result: output);
@@ -7029,8 +7025,8 @@ abstract class FlutterIntegrationCoreApi {
70297025
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableEnumList was null.',
70307026
);
70317027
final List<Object?> args = (message as List<Object?>?)!;
7032-
final List<AnEnum?>? arg_enumList =
7033-
(args[0] as List<Object?>?)?.cast<AnEnum?>();
7028+
final List<AnEnum?>? arg_enumList = (args[0] as List<Object?>?)
7029+
?.cast<AnEnum?>();
70347030
try {
70357031
final List<AnEnum?>? output = api.echoNullableEnumList(
70367032
arg_enumList,
@@ -7095,8 +7091,8 @@ abstract class FlutterIntegrationCoreApi {
70957091
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullEnumList was null.',
70967092
);
70977093
final List<Object?> args = (message as List<Object?>?)!;
7098-
final List<AnEnum>? arg_enumList =
7099-
(args[0] as List<Object?>?)?.cast<AnEnum>();
7094+
final List<AnEnum>? arg_enumList = (args[0] as List<Object?>?)
7095+
?.cast<AnEnum>();
71007096
try {
71017097
final List<AnEnum>? output = api.echoNullableNonNullEnumList(
71027098
arg_enumList,
@@ -7353,8 +7349,8 @@ abstract class FlutterIntegrationCoreApi {
73537349
'Argument for dev.flutter.pigeon.pigeon_integration_tests.FlutterIntegrationCoreApi.echoNullableNonNullIntMap was null.',
73547350
);
73557351
final List<Object?> args = (message as List<Object?>?)!;
7356-
final Map<int, int>? arg_intMap =
7357-
(args[0] as Map<Object?, Object?>?)?.cast<int, int>();
7352+
final Map<int, int>? arg_intMap = (args[0] as Map<Object?, Object?>?)
7353+
?.cast<int, int>();
73587354
try {
73597355
final Map<int, int>? output = api.echoNullableNonNullIntMap(
73607356
arg_intMap,
@@ -7568,8 +7564,9 @@ class HostTrivialApi {
75687564
BinaryMessenger? binaryMessenger,
75697565
String messageChannelSuffix = '',
75707566
}) : pigeonVar_binaryMessenger = binaryMessenger,
7571-
pigeonVar_messageChannelSuffix =
7572-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
7567+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
7568+
? '.$messageChannelSuffix'
7569+
: '';
75737570
final BinaryMessenger? pigeonVar_binaryMessenger;
75747571

75757572
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -7611,8 +7608,9 @@ class HostSmallApi {
76117608
BinaryMessenger? binaryMessenger,
76127609
String messageChannelSuffix = '',
76137610
}) : pigeonVar_binaryMessenger = binaryMessenger,
7614-
pigeonVar_messageChannelSuffix =
7615-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
7611+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
7612+
? '.$messageChannelSuffix'
7613+
: '';
76167614
final BinaryMessenger? pigeonVar_binaryMessenger;
76177615

76187616
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -7690,8 +7688,9 @@ abstract class FlutterSmallApi {
76907688
BinaryMessenger? binaryMessenger,
76917689
String messageChannelSuffix = '',
76927690
}) {
7693-
messageChannelSuffix =
7694-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
7691+
messageChannelSuffix = messageChannelSuffix.isNotEmpty
7692+
? '.$messageChannelSuffix'
7693+
: '';
76957694
{
76967695
final BasicMessageChannel<Object?>
76977696
pigeonVar_channel = BasicMessageChannel<Object?>(

packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/enum.gen.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,9 @@ class EnumApi2Host {
144144
BinaryMessenger? binaryMessenger,
145145
String messageChannelSuffix = '',
146146
}) : pigeonVar_binaryMessenger = binaryMessenger,
147-
pigeonVar_messageChannelSuffix =
148-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
147+
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
148+
? '.$messageChannelSuffix'
149+
: '';
149150
final BinaryMessenger? pigeonVar_binaryMessenger;
150151

151152
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
@@ -198,8 +199,9 @@ abstract class EnumApi2Flutter {
198199
BinaryMessenger? binaryMessenger,
199200
String messageChannelSuffix = '',
200201
}) {
201-
messageChannelSuffix =
202-
messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
202+
messageChannelSuffix = messageChannelSuffix.isNotEmpty
203+
? '.$messageChannelSuffix'
204+
: '';
203205
{
204206
final BasicMessageChannel<Object?>
205207
pigeonVar_channel = BasicMessageChannel<Object?>(

packages/pigeon/platform_tests/shared_test_plugin_code/lib/src/generated/event_channel_tests.gen.dart

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -197,25 +197,22 @@ class EventAllNullableTypes {
197197
objectList: (result[19] as List<Object?>?)?.cast<Object?>(),
198198
listList: (result[20] as List<Object?>?)?.cast<List<Object?>?>(),
199199
mapList: (result[21] as List<Object?>?)?.cast<Map<Object?, Object?>?>(),
200-
recursiveClassList:
201-
(result[22] as List<Object?>?)?.cast<EventAllNullableTypes?>(),
200+
recursiveClassList: (result[22] as List<Object?>?)
201+
?.cast<EventAllNullableTypes?>(),
202202
map: result[23] as Map<Object?, Object?>?,
203-
stringMap:
204-
(result[24] as Map<Object?, Object?>?)?.cast<String?, String?>(),
203+
stringMap: (result[24] as Map<Object?, Object?>?)
204+
?.cast<String?, String?>(),
205205
intMap: (result[25] as Map<Object?, Object?>?)?.cast<int?, int?>(),
206-
enumMap:
207-
(result[26] as Map<Object?, Object?>?)
208-
?.cast<EventEnum?, EventEnum?>(),
209-
objectMap:
210-
(result[27] as Map<Object?, Object?>?)?.cast<Object?, Object?>(),
211-
listMap:
212-
(result[28] as Map<Object?, Object?>?)?.cast<int?, List<Object?>?>(),
213-
mapMap:
214-
(result[29] as Map<Object?, Object?>?)
215-
?.cast<int?, Map<Object?, Object?>?>(),
216-
recursiveClassMap:
217-
(result[30] as Map<Object?, Object?>?)
218-
?.cast<int?, EventAllNullableTypes?>(),
206+
enumMap: (result[26] as Map<Object?, Object?>?)
207+
?.cast<EventEnum?, EventEnum?>(),
208+
objectMap: (result[27] as Map<Object?, Object?>?)
209+
?.cast<Object?, Object?>(),
210+
listMap: (result[28] as Map<Object?, Object?>?)
211+
?.cast<int?, List<Object?>?>(),
212+
mapMap: (result[29] as Map<Object?, Object?>?)
213+
?.cast<int?, Map<Object?, Object?>?>(),
214+
recursiveClassMap: (result[30] as Map<Object?, Object?>?)
215+
?.cast<int?, EventAllNullableTypes?>(),
219216
);
220217
}
221218

0 commit comments

Comments
 (0)