implicit-casts:false in dev (#45787)
diff --git a/dev/bots/analyze.dart b/dev/bots/analyze.dart
index f711dea..15a68b4 100644
--- a/dev/bots/analyze.dart
+++ b/dev/bots/analyze.dart
@@ -290,10 +290,11 @@
Future<void> verifyNoTestImports(String workingDirectory) async {
final List<String> errors = <String>[];
assert("// foo\nimport 'binding_test.dart' as binding;\n'".contains(_testImportPattern));
- for (FileSystemEntity entity in Directory(path.join(workingDirectory, 'packages'))
+ final Iterable<File> dartFiles = Directory(path.join(workingDirectory, 'packages'))
.listSync(recursive: true)
- .where((FileSystemEntity entity) => entity is File && path.extension(entity.path) == '.dart')) {
- final File file = entity;
+ .whereType<File>()
+ .where((File file) => path.extension(file.path) == '.dart');
+ for (File file in dartFiles) {
for (String line in file.readAsLinesSync()) {
final Match match = _testImportPattern.firstMatch(line);
if (match != null && !_exemptTestImports.contains(match.group(2)))
@@ -316,11 +317,9 @@
final List<String> shims = <String>[];
final List<String> errors = Directory(workingDirectory)
.listSync(recursive: true)
- .where((FileSystemEntity entity) {
- return entity is File && entity.path.endsWith('.dart');
- })
- .map<String>((FileSystemEntity entity) {
- final File file = entity;
+ .whereType<File>()
+ .where((File file) => file.path.endsWith('.dart'))
+ .map<String>((File file) {
final String name = Uri.file(path.relative(file.path,
from: workingDirectory)).toFilePath(windows: false);
if (name.startsWith('bin/cache') ||
@@ -395,14 +394,10 @@
final Map<String, List<File>> packageToRegistrants = <String, List<File>>{};
- for (FileSystemEntity entity in flutterRootDir.listSync(recursive: true)) {
- if (entity is! File)
- continue;
- if (_isGeneratedPluginRegistrant(entity)) {
- final String package = _getPackageFor(entity, flutterRootDir);
- final List<File> registrants = packageToRegistrants.putIfAbsent(package, () => <File>[]);
- registrants.add(entity);
- }
+ for (File file in flutterRootDir.listSync(recursive: true).whereType<File>().where(_isGeneratedPluginRegistrant)) {
+ final String package = _getPackageFor(file, flutterRootDir);
+ final List<File> registrants = packageToRegistrants.putIfAbsent(package, () => <File>[]);
+ registrants.add(file);
}
final Set<String> outOfDate = <String>{};
@@ -497,10 +492,11 @@
Future<void> verifyNoBadImportsInFlutterTools(String workingDirectory) async {
final List<String> errors = <String>[];
- for (FileSystemEntity entity in Directory(path.join(workingDirectory, 'packages', 'flutter_tools', 'lib'))
+ final Iterable<File> files = Directory(path.join(workingDirectory, 'packages', 'flutter_tools', 'lib'))
.listSync(recursive: true)
- .where((FileSystemEntity entity) => entity is File && path.extension(entity.path) == '.dart')) {
- final File file = entity;
+ .whereType<File>()
+ .where((File file) => path.extension(file.path) == '.dart');
+ for (File file in files) {
if (file.readAsStringSync().contains('package:flutter_tools/')) {
errors.add('$yellow${file.path}$reset imports flutter_tools.');
}
@@ -745,31 +741,33 @@
final RegExp _importMetaPattern = RegExp(r'''^\s*import (['"])package:meta/meta\.dart\1''');
Set<String> _findFlutterDependencies(String srcPath, List<String> errors, { bool checkForMeta = false }) {
- return Directory(srcPath).listSync(recursive: true).where((FileSystemEntity entity) {
- return entity is File && path.extension(entity.path) == '.dart';
- }).map<Set<String>>((FileSystemEntity entity) {
- final Set<String> result = <String>{};
- final File file = entity;
- for (String line in file.readAsLinesSync()) {
- Match match = _importPattern.firstMatch(line);
- if (match != null)
- result.add(match.group(2));
- if (checkForMeta) {
- match = _importMetaPattern.firstMatch(line);
- if (match != null) {
- errors.add(
- '${file.path}\nThis package imports the ${yellow}meta$reset package.\n'
- 'You should instead import the "foundation.dart" library.'
- );
+ return Directory(srcPath)
+ .listSync(recursive: true)
+ .whereType<File>()
+ .where((File file) => path.extension(file.path) == '.dart')
+ .map<Set<String>>((File file) {
+ final Set<String> result = <String>{};
+ for (String line in file.readAsLinesSync()) {
+ Match match = _importPattern.firstMatch(line);
+ if (match != null)
+ result.add(match.group(2));
+ if (checkForMeta) {
+ match = _importMetaPattern.firstMatch(line);
+ if (match != null) {
+ errors.add(
+ '${file.path}\nThis package imports the ${yellow}meta$reset package.\n'
+ 'You should instead import the "foundation.dart" library.'
+ );
+ }
}
}
- }
- return result;
- }).reduce((Set<String> value, Set<String> element) {
- value ??= <String>{};
- value.addAll(element);
- return value;
- });
+ return result;
+ })
+ .reduce((Set<String> value, Set<String> element) {
+ value ??= <String>{};
+ value.addAll(element);
+ return value;
+ });
}
List<T> _deepSearch<T>(Map<T, Set<T>> map, T start, [ Set<T> seen ]) {