diff --git a/packages/flutter_tools/bin/flutter_tools.dart b/packages/flutter_tools/bin/flutter_tools.dart index 1cad0ded07..2caa134a35 100644 --- a/packages/flutter_tools/bin/flutter_tools.dart +++ b/packages/flutter_tools/bin/flutter_tools.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:flutter_tools/executable.dart' as executable; void main(List args) { diff --git a/packages/flutter_tools/bin/fuchsia_asset_builder.dart b/packages/flutter_tools/bin/fuchsia_asset_builder.dart index d787a42850..b7ddd47b46 100644 --- a/packages/flutter_tools/bin/fuchsia_asset_builder.dart +++ b/packages/flutter_tools/bin/fuchsia_asset_builder.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'package:args/args.dart'; import 'package:flutter_tools/src/asset.dart' hide defaultManifestPath; import 'package:flutter_tools/src/base/common.dart'; @@ -63,10 +61,10 @@ Future run(List args) async { Cache.flutterRoot = globals.platform.environment['FLUTTER_ROOT']; final String assetDir = argResults[_kOptionAsset] as String; - final AssetBundle assets = await buildAssets( - manifestPath: argResults[_kOptionManifest] as String ?? defaultManifestPath, + final AssetBundle? assets = await buildAssets( + manifestPath: argResults[_kOptionManifest] as String? ?? defaultManifestPath, assetDirPath: assetDir, - packagesPath: argResults[_kOptionPackages] as String, + packagesPath: argResults[_kOptionPackages] as String?, targetPlatform: TargetPlatform.fuchsia_arm64 // This is not arch specific. ); @@ -84,8 +82,9 @@ Future run(List args) async { final String outputMan = argResults[_kOptionAssetManifestOut] as String; await writeFuchsiaManifest(assets, argResults[_kOptionAsset] as String, outputMan, argResults[_kOptionComponentName] as String); - if (argResults.options.contains(_kOptionDepfile)) { - await writeDepfile(assets, outputMan, argResults[_kOptionDepfile] as String); + final String? depfilePath = argResults[_kOptionDepfile] as String?; + if (depfilePath != null) { + await writeDepfile(assets, outputMan, depfilePath); } } diff --git a/packages/flutter_tools/bin/fuchsia_tester.dart b/packages/flutter_tools/bin/fuchsia_tester.dart index 4270ee8747..f6f50b2515 100644 --- a/packages/flutter_tools/bin/fuchsia_tester.dart +++ b/packages/flutter_tools/bin/fuchsia_tester.dart @@ -2,8 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - import 'dart:convert' show json; import 'dart:math' as math; @@ -57,7 +55,6 @@ Future run(List args) async { ..addOption(_kOptionTests, help: 'Path to json file that maps Dart test files to precompiled dill files') ..addOption(_kOptionCoverageDirectory, help: 'The path to the directory that will have coverage collected') ..addFlag(_kOptionCoverage, - defaultsTo: false, negatable: false, help: 'Whether to collect coverage information.', ) @@ -84,7 +81,7 @@ Future run(List args) async { if (!globals.fs.isDirectorySync(sdkRootSrc.path)) { throwToolExit('Cannot find SDK files at ${sdkRootSrc.path}'); } - Directory coverageDirectory; + Directory? coverageDirectory; final String coverageDirectoryPath = argResults[_kOptionCoverageDirectory] as String; if (coverageDirectoryPath != null) { if (!globals.fs.isDirectorySync(coverageDirectoryPath)) { @@ -95,13 +92,14 @@ Future run(List args) async { // Put the tester shell where runTests expects it. // TODO(garymm): Switch to a Fuchsia-specific Artifacts impl. + final Artifacts artifacts = globals.artifacts!; final Link testerDestLink = - globals.fs.link(globals.artifacts.getArtifactPath(Artifact.flutterTester)); + globals.fs.link(artifacts.getArtifactPath(Artifact.flutterTester)); testerDestLink.parent.createSync(recursive: true); testerDestLink.createSync(globals.fs.path.absolute(shellPath)); final Directory sdkRootDest = - globals.fs.directory(globals.artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath)); + globals.fs.directory(artifacts.getArtifactPath(Artifact.flutterPatchedSdkPath)); sdkRootDest.createSync(recursive: true); for (final FileSystemEntity artifact in sdkRootSrc.listSync()) { globals.fs.link(sdkRootDest.childFile(artifact.basename).path).createSync(artifact.path); @@ -109,12 +107,12 @@ Future run(List args) async { // TODO(tvolkert): Remove once flutter_tester no longer looks for this. globals.fs.link(sdkRootDest.childFile('platform.dill').path).createSync('platform_strong.dill'); - Directory testDirectory; - CoverageCollector collector; + Directory? testDirectory; + CoverageCollector? collector; if (argResults['coverage'] as bool) { // If we have a specified coverage directory then accept all libraries by // setting libraryNames to null. - final Set libraryNames = coverageDirectory != null ? null : + final Set? libraryNames = coverageDirectory != null ? null : {FlutterProject.current().manifest.appName}; final String packagesPath = globals.fs.path.normalize(globals.fs.path.absolute(argResults[_kOptionPackages] as String)); collector = CoverageCollector( @@ -162,7 +160,7 @@ Future run(List args) async { // package (i.e. contains lib/ and test/ sub-dirs). In some cases, // test files may appear to be in the root directory. if (coverageDirectory == null) { - globals.fs.currentDirectory = testDirectory.parent; + globals.fs.currentDirectory = testDirectory!.parent; } else { globals.fs.currentDirectory = testDirectory; } diff --git a/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart b/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart index abcd5003f7..ce339e34a7 100644 --- a/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart +++ b/packages/flutter_tools/lib/src/isolated/resident_web_runner.dart @@ -521,9 +521,9 @@ class ResidentWebRunner extends ResidentRunner { }) async { if (_chromiumLauncher != null) { final Chromium chrome = await _chromiumLauncher!.connectedInstance; - final ChromeTab chromeTab = await (chrome.chromeConnection.getTab((ChromeTab chromeTab) { + final ChromeTab? chromeTab = await chrome.chromeConnection.getTab((ChromeTab chromeTab) { return !chromeTab.url.startsWith('chrome-extension'); - }, retryFor: const Duration(seconds: 5)) as FutureOr); + }, retryFor: const Duration(seconds: 5)); if (chromeTab == null) { throwToolExit('Failed to connect to Chrome instance.'); } diff --git a/packages/flutter_tools/lib/src/localizations/gen_l10n_types.dart b/packages/flutter_tools/lib/src/localizations/gen_l10n_types.dart index 076abcc4d5..1209006c17 100644 --- a/packages/flutter_tools/lib/src/localizations/gen_l10n_types.dart +++ b/packages/flutter_tools/lib/src/localizations/gen_l10n_types.dart @@ -261,14 +261,14 @@ class Placeholder { if (value == null) { return []; } - if (value is! Map) { + if (value is! Map) { throw L10nException( 'The "optionalParameters" value of the "$name" placeholder in message ' '$resourceId is not a properly formatted Map. Ensure that it is a map ' 'with keys that are strings.' ); } - final Map optionalParameterMap = value; + final Map optionalParameterMap = value; return optionalParameterMap.keys.map((String parameterName) { return OptionalParameter(parameterName, optionalParameterMap[parameterName]!); }).toList(); diff --git a/packages/flutter_tools/lib/src/test/flutter_tester_device.dart b/packages/flutter_tools/lib/src/test/flutter_tester_device.dart index 14cdfc0245..08c7c451b0 100644 --- a/packages/flutter_tools/lib/src/test/flutter_tester_device.dart +++ b/packages/flutter_tools/lib/src/test/flutter_tester_device.dart @@ -348,7 +348,7 @@ StreamChannel _webSocketToStreamChannel(WebSocket webSocket) { .pipe(webSocket); webSocket // We're only communicating with string encoded JSON. - .map((dynamic message) => message as String?) + .map((dynamic message) => message as String) .pipe(controller.local.sink); return controller.foreign; diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart index 15ef568426..61e4fe0b0a 100644 --- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart +++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart @@ -344,7 +344,7 @@ class FlutterWebPlatform extends PlatformPlugin { Future _goldenFileHandler(shelf.Request request) async { if (request.url.path.contains('flutter_goldens')) { - final Map body = json.decode(await request.readAsString()) as Map; + final Map body = json.decode(await request.readAsString()) as Map; final Uri goldenKey = Uri.parse(body['key']! as String); final Uri testUri = Uri.parse(body['testUri']! as String); final num width = body['width']! as num; @@ -352,9 +352,9 @@ class FlutterWebPlatform extends PlatformPlugin { Uint8List bytes; try { - final ChromeTab chromeTab = await (_browserManager!._browser.chromeConnection.getTab((ChromeTab tab) { + final ChromeTab chromeTab = (await _browserManager!._browser.chromeConnection.getTab((ChromeTab tab) { return tab.url.contains(_browserManager!._browser.url!); - }) as FutureOr); + }))!; final WipConnection connection = await chromeTab.connect(); final WipResponse response = await connection.sendCommand('Page.captureScreenshot', { // Clip the screenshot to include only the element. diff --git a/packages/flutter_tools/lib/src/web/web_device.dart b/packages/flutter_tools/lib/src/web/web_device.dart index 1482686ea0..3a743468ac 100644 --- a/packages/flutter_tools/lib/src/web/web_device.dart +++ b/packages/flutter_tools/lib/src/web/web_device.dart @@ -158,7 +158,7 @@ abstract class ChromiumDevice extends Device { @override Future stopApp( - ApplicationPackage app, { + ApplicationPackage? app, { String? userIdentifier, }) async { await _chrome?.close(); @@ -479,7 +479,7 @@ class WebServerDevice extends Device { @override Future stopApp( - ApplicationPackage app, { + ApplicationPackage? app, { String? userIdentifier, }) async { return true;