[ffigen] Move to new analyzer checks (#264)
diff --git a/pkgs/ffigen/analysis_options.yaml b/pkgs/ffigen/analysis_options.yaml index 2a3bc8c..06af095 100644 --- a/pkgs/ffigen/analysis_options.yaml +++ b/pkgs/ffigen/analysis_options.yaml
@@ -7,9 +7,9 @@ analyzer: exclude: - 'test/**_expected*' - strong-mode: - implicit-casts: false - implicit-dynamic: false + language: + strict-casts: true + strict-inference: true linter: rules:
diff --git a/pkgs/ffigen/lib/src/config_provider/spec_utils.dart b/pkgs/ffigen/lib/src/config_provider/spec_utils.dart index 0689914..e5f0f41 100644 --- a/pkgs/ffigen/lib/src/config_provider/spec_utils.dart +++ b/pkgs/ffigen/lib/src/config_provider/spec_utils.dart
@@ -586,7 +586,7 @@ if (!checkType<YamlMap>([...name, key as String], value[key])) { _result = false; } else { - for (final subkey in value[key].keys) { + for (final subkey in (value[key] as YamlMap).keys) { if (!checkType<String>( [...name, key, subkey as String], value[key][subkey])) { _result = false; @@ -597,12 +597,13 @@ if (!checkType<YamlMap>([...name, key as String], value[key])) { _result = false; } else { - for (final declNameKey in value[key].keys) { + for (final declNameKey in (value[key] as YamlMap).keys) { if (!checkType<YamlMap>([...name, key, declNameKey as String], value[key][declNameKey])) { _result = false; } else { - for (final memberNameKey in value[key][declNameKey].keys) { + for (final memberNameKey + in ((value[key] as YamlMap)[declNameKey] as YamlMap).keys) { if (!checkType<String>([ ...name, key, @@ -619,7 +620,7 @@ if (!checkType<YamlMap>([...name, key as String], value[key])) { _result = false; } else { - for (final subkey in value[key].keys) { + for (final subkey in (value[key] as YamlMap).keys) { if (subkey == strings.include || subkey == strings.exclude) { if (!checkType<YamlList>( [...name, key, subkey as String], value[key][subkey])) { @@ -811,7 +812,7 @@ StructPackingOverride structPackingOverrideExtractor(dynamic value) { final matcherMap = <RegExp, int?>{}; - for (final key in value.keys) { + for (final key in (value as YamlMap).keys) { matcherMap[RegExp(key as String, dotAll: true)] = strings.packingValuesMap[value[key]]; } @@ -824,7 +825,7 @@ if (!checkType<YamlMap>([...name], value)) { _result = false; } else { - for (final key in value.keys) { + for (final key in (value as YamlMap).keys) { if (!(strings.packingValuesMap.keys.contains(value[key]))) { _logger.severe( "'$name -> $key' must be one of the following - ${strings.packingValuesMap.keys.toList()}");