From 735fc29622099a6e7d221061d52b7a32c93b0bed Mon Sep 17 00:00:00 2001 From: Christopher Fujino Date: Thu, 15 Jun 2023 13:25:19 -0700 Subject: [PATCH] [flutter_tools] refactor license collector (#128748) Improve debugging for https://github.com/flutter/flutter/issues/128680 In the linked issue, I cannot explain how we are getting a type error. However, this refactor eliminates the null check operator (by iterating over `MapEntries` rather than the keys) in hopes that there will be a more descriptive error in the future. The correctness of this change is verified by the existing tests in https://github.com/flutter/flutter/blob/master/packages/flutter_tools/test/general.shard/license_collector_test.dart --- packages/flutter_tools/lib/src/license_collector.dart | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/flutter_tools/lib/src/license_collector.dart b/packages/flutter_tools/lib/src/license_collector.dart index 041467b4d2..289962a40e 100644 --- a/packages/flutter_tools/lib/src/license_collector.dart +++ b/packages/flutter_tools/lib/src/license_collector.dart @@ -82,11 +82,10 @@ class LicenseCollector { } } - final List combinedLicensesList = packageLicenses.keys - .map((String license) { - final List packageNames = packageLicenses[license]!.toList() - ..sort(); - return '${packageNames.join('\n')}\n\n$license'; + final List combinedLicensesList = packageLicenses.entries + .map((MapEntry> entry) { + final List packageNames = entry.value.toList()..sort(); + return '${packageNames.join('\n')}\n\n${entry.key}'; }).toList(); combinedLicensesList.sort();