From 03cae4f66682809a25c73679c2fce10ccd69374e Mon Sep 17 00:00:00 2001 From: David Morgan Date: Thu, 13 Aug 2020 13:17:19 +0200 Subject: [PATCH] Update from google3. --- CHANGELOG.md | 5 ++++- lib/generate_localized.dart | 14 +++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 673df14..be7ae7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ +## 0.17.11-dev + * Generate code that passes analysis with `implicit-casts: false`. + ## 0.17.10 - * Update petitparser dependency. + * Update petitparser dependency. ## 0.17.9 * Fix pub complaint trying to precompile a library file in bin by moving that file to lib/src. diff --git a/lib/generate_localized.dart b/lib/generate_localized.dart index 600c0c1..ce8d82b 100644 --- a/lib/generate_localized.dart +++ b/lib/generate_localized.dart @@ -334,8 +334,8 @@ import '${generatedFilePrefix}messages_all.dart' show evaluateJsonTemplate; void writeTranslations( Iterable usableTranslations, String locale) { output.write(r""" - var _messages; - get messages => _messages ??= + Map _messages; + Map get messages => _messages ??= const JsonDecoder().convert(messageText) as Map; """); @@ -371,10 +371,10 @@ String evaluateJsonTemplate(dynamic input, List args) { return "\${args[input]}"; } - List template = input; + var template = input as List; var messageName = template.first; if (messageName == "Intl.plural") { - var howMany = args[template[1]]; + var howMany = args[template[1] as int] as num; return evaluateJsonTemplate( Intl.pluralLogic( howMany, @@ -387,7 +387,7 @@ String evaluateJsonTemplate(dynamic input, List args) { args); } if (messageName == "Intl.gender") { - var gender = args[template[1]]; + var gender = args[template[1] as int] as String; return evaluateJsonTemplate( Intl.genderLogic( gender, @@ -397,8 +397,8 @@ String evaluateJsonTemplate(dynamic input, List args) { args); } if (messageName == "Intl.select") { - var select = args[template[1]]; - var choices = template[2]; + var select = args[template[1] as int]; + var choices = template[2] as Map; return evaluateJsonTemplate(Intl.selectLogic(select, choices), args); }