apply lint prefer_void_to_null in packages/flutter_tools (#22686)
diff --git a/packages/flutter_tools/bin/fuchsia_asset_builder.dart b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
index c659f84..aa63d3d 100644
--- a/packages/flutter_tools/bin/fuchsia_asset_builder.dart
+++ b/packages/flutter_tools/bin/fuchsia_asset_builder.dart
@@ -30,20 +30,20 @@
_kOptionComponentName,
];
-Future<Null> main(List<String> args) {
- return runInContext<Null>(() => run(args), overrides: <Type, Generator>{
+Future<void> main(List<String> args) {
+ return runInContext<void>(() => run(args), overrides: <Type, Generator>{
Usage: () => DisabledUsage(),
});
}
-Future<Null> writeFile(libfs.File outputFile, DevFSContent content) async {
+Future<void> writeFile(libfs.File outputFile, DevFSContent content) async {
outputFile.createSync(recursive: true);
final List<int> data = await content.contentsAsBytes();
outputFile.writeAsBytesSync(data);
return null;
}
-Future<Null> run(List<String> args) async {
+Future<void> run(List<String> args) async {
final ArgParser parser = ArgParser()
..addOption(_kOptionPackages, help: 'The .packages file')
..addOption(_kOptionAsset,
@@ -72,18 +72,18 @@
exit(1);
}
- final List<Future<Null>> calls = <Future<Null>>[];
+ final List<Future<void>> calls = <Future<void>>[];
assets.entries.forEach((String fileName, DevFSContent content) {
final libfs.File outputFile = libfs.fs.file(libfs.fs.path.join(assetDir, fileName));
calls.add(writeFile(outputFile, content));
});
- await Future.wait<Null>(calls);
+ await Future.wait<void>(calls);
final String outputMan = argResults[_kOptionAssetManifestOut];
await writeFuchsiaManifest(assets, argResults[_kOptionAsset], outputMan, argResults[_kOptionComponentName]);
}
-Future<Null> writeFuchsiaManifest(AssetBundle assets, String outputBase, String fileDest, String componentName) async {
+Future<void> writeFuchsiaManifest(AssetBundle assets, String outputBase, String fileDest, String componentName) async {
final libfs.File destFile = libfs.fs.file(fileDest);
await destFile.create(recursive: true);
diff --git a/packages/flutter_tools/bin/fuchsia_tester.dart b/packages/flutter_tools/bin/fuchsia_tester.dart
index 8d97972..a5e0ee3 100644
--- a/packages/flutter_tools/bin/fuchsia_tester.dart
+++ b/packages/flutter_tools/bin/fuchsia_tester.dart
@@ -43,12 +43,12 @@
const String _kOptionCoveragePath = 'coverage-path';
void main(List<String> args) {
- runInContext<Null>(() => run(args), overrides: <Type, Generator>{
+ runInContext<void>(() => run(args), overrides: <Type, Generator>{
Usage: () => DisabledUsage(),
});
}
-Future<Null> run(List<String> args) async {
+Future<void> run(List<String> args) async {
final ArgParser parser = ArgParser()
..addOption(_kOptionPackages, help: 'The .packages file')
..addOption(_kOptionShell, help: 'The Flutter shell binary')
diff --git a/packages/flutter_tools/lib/executable.dart b/packages/flutter_tools/lib/executable.dart
index 61a38a7..6d62a5e 100644
--- a/packages/flutter_tools/lib/executable.dart
+++ b/packages/flutter_tools/lib/executable.dart
@@ -39,7 +39,7 @@
/// Main entry point for commands.
///
/// This function is intended to be used from the `flutter` command line tool.
-Future<Null> main(List<String> args) async {
+Future<void> main(List<String> args) async {
final bool verbose = args.contains('-v') || args.contains('--verbose');
final bool doctor = (args.isNotEmpty && args.first == 'doctor') ||
diff --git a/packages/flutter_tools/lib/runner.dart b/packages/flutter_tools/lib/runner.dart
index d727c70..963d801 100644
--- a/packages/flutter_tools/lib/runner.dart
+++ b/packages/flutter_tools/lib/runner.dart
@@ -211,7 +211,7 @@
// Run shutdown hooks before flushing logs
await runShutdownHooks();
- final Completer<Null> completer = Completer<Null>();
+ final Completer<void> completer = Completer<void>();
// Give the task / timer queue one cycle through before we hard exit.
Timer.run(() {
diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart
index 497157f..ea70f44 100644
--- a/packages/flutter_tools/lib/src/android/android_device.dart
+++ b/packages/flutter_tools/lib/src/android/android_device.dart
@@ -676,7 +676,7 @@
_timeOrigin = _adbTimestampToDateTime(lastTimestamp);
else
_timeOrigin = null;
- runCommand(device.adbCommandForDevice(args)).then<Null>((Process process) {
+ runCommand(device.adbCommandForDevice(args)).then<void>((Process process) {
_process = process;
const Utf8Decoder decoder = Utf8Decoder(allowMalformed: true);
_process.stdout.transform<String>(decoder).transform<String>(const LineSplitter()).listen(_onLine);
@@ -868,7 +868,7 @@
}
@override
- Future<Null> unforward(ForwardedPort forwardedPort) async {
+ Future<void> unforward(ForwardedPort forwardedPort) async {
await runCheckedAsync(device.adbCommandForDevice(
<String>['forward', '--remove', 'tcp:${forwardedPort.hostPort}']
));
diff --git a/packages/flutter_tools/lib/src/android/apk.dart b/packages/flutter_tools/lib/src/android/apk.dart
index 43b73c1..5b30036 100644
--- a/packages/flutter_tools/lib/src/android/apk.dart
+++ b/packages/flutter_tools/lib/src/android/apk.dart
@@ -14,7 +14,7 @@
import 'android_sdk.dart';
import 'gradle.dart';
-Future<Null> buildApk({
+Future<void> buildApk({
@required FlutterProject project,
@required String target,
BuildInfo buildInfo = BuildInfo.debug
diff --git a/packages/flutter_tools/lib/src/android/gradle.dart b/packages/flutter_tools/lib/src/android/gradle.dart
index b676afc..ab3a21a 100644
--- a/packages/flutter_tools/lib/src/android/gradle.dart
+++ b/packages/flutter_tools/lib/src/android/gradle.dart
@@ -272,7 +272,7 @@
}
}
-Future<Null> buildGradleProject({
+Future<void> buildGradleProject({
@required FlutterProject project,
@required BuildInfo buildInfo,
@required String target,
@@ -301,7 +301,7 @@
}
}
-Future<Null> _buildGradleProjectV1(FlutterProject project, String gradle) async {
+Future<void> _buildGradleProjectV1(FlutterProject project, String gradle) async {
// Run 'gradlew build'.
final Status status = logger.startProgress(
"Running 'gradlew build'...",
@@ -322,7 +322,7 @@
printStatus('Built ${fs.path.relative(project.android.gradleAppOutV1File.path)}.');
}
-Future<Null> _buildGradleProjectV2(
+Future<void> _buildGradleProjectV2(
FlutterProject flutterProject,
String gradle,
BuildInfo buildInfo,
diff --git a/packages/flutter_tools/lib/src/base/net.dart b/packages/flutter_tools/lib/src/base/net.dart
index 94c724e..0a8270a 100644
--- a/packages/flutter_tools/lib/src/base/net.dart
+++ b/packages/flutter_tools/lib/src/base/net.dart
@@ -23,7 +23,7 @@
if (result != null)
return result;
printStatus('Download failed -- attempting retry $attempts in $duration second${ duration == 1 ? "" : "s"}...');
- await Future<Null>.delayed(Duration(seconds: duration));
+ await Future<void>.delayed(Duration(seconds: duration));
if (duration < 64)
duration *= 2;
}
diff --git a/packages/flutter_tools/lib/src/base/process.dart b/packages/flutter_tools/lib/src/base/process.dart
index 29029d4..c612e45 100644
--- a/packages/flutter_tools/lib/src/base/process.dart
+++ b/packages/flutter_tools/lib/src/base/process.dart
@@ -74,7 +74,7 @@
/// hooks within a given stage will be started in parallel and will be
/// guaranteed to run to completion before shutdown hooks in the next stage are
/// started.
-Future<Null> runShutdownHooks() async {
+Future<void> runShutdownHooks() async {
printTrace('Running shutdown hooks');
_shutdownHooksRunning = true;
try {
@@ -164,12 +164,12 @@
// Wait for stdout to be fully processed
// because process.exitCode may complete first causing flaky tests.
- await waitGroup<Null>(<Future<Null>>[
- stdoutSubscription.asFuture<Null>(),
- stderrSubscription.asFuture<Null>(),
+ await waitGroup<void>(<Future<void>>[
+ stdoutSubscription.asFuture<void>(),
+ stderrSubscription.asFuture<void>(),
]);
- await waitGroup<Null>(<Future<Null>>[
+ await waitGroup<void>(<Future<void>>[
stdoutSubscription.cancel(),
stderrSubscription.cancel(),
]);
@@ -203,9 +203,9 @@
return await process.exitCode;
}
-Future<Null> runAndKill(List<String> cmd, Duration timeout) {
+Future<void> runAndKill(List<String> cmd, Duration timeout) {
final Future<Process> proc = runDetached(cmd);
- return Future<Null>.delayed(timeout, () async {
+ return Future<void>.delayed(timeout, () async {
printTrace('Intentionally killing ${cmd[0]}');
processManager.killPid((await proc).pid);
});
diff --git a/packages/flutter_tools/lib/src/base/utils.dart b/packages/flutter_tools/lib/src/base/utils.dart
index ee485de..e74fd49 100644
--- a/packages/flutter_tools/lib/src/base/utils.dart
+++ b/packages/flutter_tools/lib/src/base/utils.dart
@@ -251,14 +251,14 @@
Clock get clock => context[Clock];
-typedef AsyncCallback = Future<Null> Function();
+typedef AsyncCallback = Future<void> Function();
/// A [Timer] inspired class that:
/// - has a different initial value for the first callback delay
/// - waits for a callback to be complete before it starts the next timer
class Poller {
Poller(this.callback, this.pollingInterval, { this.initialDelay = Duration.zero }) {
- Future<Null>.delayed(initialDelay, _handleCallback);
+ Future<void>.delayed(initialDelay, _handleCallback);
}
final AsyncCallback callback;
@@ -268,7 +268,7 @@
bool _cancelled = false;
Timer _timer;
- Future<Null> _handleCallback() async {
+ Future<void> _handleCallback() async {
if (_cancelled)
return;
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart
index 8ab311c..4010e15 100644
--- a/packages/flutter_tools/lib/src/cache.dart
+++ b/packages/flutter_tools/lib/src/cache.dart
@@ -70,7 +70,7 @@
/// Normally the lock will be held until the process exits (this uses normal
/// POSIX flock semantics). Long-lived commands should release the lock by
/// calling [Cache.releaseLockEarly] once they are no longer touching the cache.
- static Future<Null> lock() async {
+ static Future<void> lock() async {
if (!_lockEnabled)
return null;
assert(_lock == null);
@@ -87,7 +87,7 @@
printStatus('Waiting for another flutter command to release the startup lock...');
printed = true;
}
- await Future<Null>.delayed(const Duration(milliseconds: 50));
+ await Future<void>.delayed(const Duration(milliseconds: 50));
}
}
}
@@ -199,7 +199,7 @@
return cachedFile.path;
}
- Future<Null> updateAll() async {
+ Future<void> updateAll() async {
if (!_lockEnabled)
return null;
try {
@@ -245,7 +245,7 @@
return isUpToDateInner();
}
- Future<Null> update() async {
+ Future<void> update() async {
if (location.existsSync())
location.deleteSync(recursive: true);
location.createSync(recursive: true);
@@ -272,7 +272,7 @@
bool isUpToDateInner() => true;
/// Template method to perform artifact update.
- Future<Null> updateInner();
+ Future<void> updateInner();
String get _storageBaseUrl {
final String overrideUrl = platform.environment['FLUTTER_STORAGE_BASE_URL'];
@@ -285,7 +285,7 @@
Uri _toStorageUri(String path) => Uri.parse('$_storageBaseUrl/$path');
/// Download an archive from the given [url] and unzip it to [location].
- Future<Null> _downloadArchive(String message, Uri url, Directory location, bool verifier(File f), void extractor(File f, Directory d)) {
+ Future<void> _downloadArchive(String message, Uri url, Directory location, bool verifier(File f), void extractor(File f, Directory d)) {
return _withDownloadFile('${flattenNameSubdirs(url)}', (File tempFile) async {
if (!verifier(tempFile)) {
final Status status = logger.startProgress(message, expectSlowOperation: true);
@@ -305,18 +305,18 @@
}
/// Download a zip archive from the given [url] and unzip it to [location].
- Future<Null> _downloadZipArchive(String message, Uri url, Directory location) {
+ Future<void> _downloadZipArchive(String message, Uri url, Directory location) {
return _downloadArchive(message, url, location, os.verifyZip, os.unzip);
}
/// Download a gzipped tarball from the given [url] and unpack it to [location].
- Future<Null> _downloadZippedTarball(String message, Uri url, Directory location) {
+ Future<void> _downloadZippedTarball(String message, Uri url, Directory location) {
return _downloadArchive(message, url, location, os.verifyGzip, os.unpack);
}
/// Create a temporary file and invoke [onTemporaryFile] with the file as
/// argument, then add the temporary file to the [_downloadedFiles].
- Future<Null> _withDownloadFile(String name, Future<Null> onTemporaryFile(File file)) async {
+ Future<void> _withDownloadFile(String name, Future<void> onTemporaryFile(File file)) async {
final File tempFile = fs.file(fs.path.join(cache.getDownloadDir().path, name));
_downloadedFiles.add(tempFile);
await onTemporaryFile(tempFile);
@@ -340,7 +340,7 @@
MaterialFonts(Cache cache): super('material_fonts', cache);
@override
- Future<Null> updateInner() {
+ Future<void> updateInner() {
final Uri archiveUri = _toStorageUri(version);
return _downloadZipArchive('Downloading Material fonts...', archiveUri, location);
}
@@ -470,7 +470,7 @@
}
@override
- Future<Null> updateInner() async {
+ Future<void> updateInner() async {
final String url = '$_storageBaseUrl/flutter_infra/flutter/$version/';
final Directory pkgDir = cache.getCacheDir('pkg');
@@ -521,9 +521,9 @@
GradleWrapper(Cache cache): super('gradle_wrapper', cache);
@override
- Future<Null> updateInner() {
+ Future<void> updateInner() {
final Uri archiveUri = _toStorageUri(version);
- return _downloadZippedTarball('Downloading Gradle Wrapper...', archiveUri, location).then<Null>((_) {
+ return _downloadZippedTarball('Downloading Gradle Wrapper...', archiveUri, location).then<void>((_) {
// Delete property file, allowing templates to provide it.
fs.file(fs.path.join(location.path, 'gradle', 'wrapper', 'gradle-wrapper.properties')).deleteSync();
// Remove NOTICE file. Should not be part of the template.
@@ -565,7 +565,7 @@
}
/// Download a file from the given [url] and write it to [location].
-Future<Null> _downloadFile(Uri url, File location) async {
+Future<void> _downloadFile(Uri url, File location) async {
_ensureExists(location.parent);
final List<int> fileBytes = await fetchUrl(url);
location.writeAsBytesSync(fileBytes, flush: true);
diff --git a/packages/flutter_tools/lib/src/commands/analyze.dart b/packages/flutter_tools/lib/src/commands/analyze.dart
index 1da4c74..ddb18d3 100644
--- a/packages/flutter_tools/lib/src/commands/analyze.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze.dart
@@ -80,20 +80,22 @@
}
@override
- Future<Null> runCommand() {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults['watch']) {
- return AnalyzeContinuously(
+ await AnalyzeContinuously(
argResults,
runner.getRepoRoots(),
runner.getRepoPackages(),
).analyze();
+ return null;
} else {
- return AnalyzeOnce(
+ await AnalyzeOnce(
argResults,
runner.getRepoRoots(),
runner.getRepoPackages(),
workingDirectory: workingDirectory,
).analyze();
+ return null;
}
}
}
diff --git a/packages/flutter_tools/lib/src/commands/analyze_base.dart b/packages/flutter_tools/lib/src/commands/analyze_base.dart
index e10f96f..2e9acfb 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_base.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_base.dart
@@ -21,7 +21,7 @@
final ArgResults argResults;
/// Called by [AnalyzeCommand] to start the analysis process.
- Future<Null> analyze();
+ Future<void> analyze();
void dumpErrors(Iterable<String> errors) {
if (argResults['write'] != null) {
diff --git a/packages/flutter_tools/lib/src/commands/analyze_continuously.dart b/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
index c326608..dda2ab8 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_continuously.dart
@@ -33,7 +33,7 @@
Status analysisStatus;
@override
- Future<Null> analyze() async {
+ Future<void> analyze() async {
List<String> directories;
if (argResults['flutter-repo']) {
diff --git a/packages/flutter_tools/lib/src/commands/analyze_once.dart b/packages/flutter_tools/lib/src/commands/analyze_once.dart
index 3d181ad..d7a13d0 100644
--- a/packages/flutter_tools/lib/src/commands/analyze_once.dart
+++ b/packages/flutter_tools/lib/src/commands/analyze_once.dart
@@ -33,7 +33,7 @@
final Directory workingDirectory;
@override
- Future<Null> analyze() async {
+ Future<void> analyze() async {
final String currentDirectory =
(workingDirectory ?? fs.currentDirectory).path;
@@ -68,7 +68,7 @@
throwToolExit('Nothing to analyze.', exitCode: 0);
// analyze all
- final Completer<Null> analysisCompleter = Completer<Null>();
+ final Completer<void> analysisCompleter = Completer<void>();
final List<AnalysisError> errors = <AnalysisError>[];
final String sdkPath = argResults['dart-sdk'] ?? sdk.dartSdkPath;
diff --git a/packages/flutter_tools/lib/src/commands/attach.dart b/packages/flutter_tools/lib/src/commands/attach.dart
index bcd8b24..35e44ac 100644
--- a/packages/flutter_tools/lib/src/commands/attach.dart
+++ b/packages/flutter_tools/lib/src/commands/attach.dart
@@ -76,7 +76,7 @@
}
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
await super.validateCommand();
if (await findTargetDevice() == null)
throwToolExit(null);
@@ -84,7 +84,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
Cache.releaseLockEarly();
await _validateArguments();
@@ -152,6 +152,7 @@
final List<ForwardedPort> ports = device.portForwarder.forwardedPorts.toList();
ports.forEach(device.portForwarder.unforward);
}
+ return null;
}
Future<void> _validateArguments() async {}
diff --git a/packages/flutter_tools/lib/src/commands/build.dart b/packages/flutter_tools/lib/src/commands/build.dart
index eb5ab8e..cda6c43 100644
--- a/packages/flutter_tools/lib/src/commands/build.dart
+++ b/packages/flutter_tools/lib/src/commands/build.dart
@@ -32,7 +32,7 @@
final String description = 'Flutter build commands.';
@override
- Future<Null> runCommand() async { }
+ Future<FlutterCommandResult> runCommand() async => null;
}
abstract class BuildSubCommand extends FlutterCommand {
@@ -42,7 +42,7 @@
@override
@mustCallSuper
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (isRunningOnBot) {
final File dotPackages = fs.file('.packages');
printStatus('Contents of .packages:');
@@ -58,5 +58,6 @@
else
printError('File not found: ${pubspecLock.absolute.path}');
}
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/build_aot.dart b/packages/flutter_tools/lib/src/commands/build_aot.dart
index dc5a79f..fadfa6d 100644
--- a/packages/flutter_tools/lib/src/commands/build_aot.dart
+++ b/packages/flutter_tools/lib/src/commands/build_aot.dart
@@ -56,7 +56,7 @@
final String description = "Build an ahead-of-time compiled snapshot of your app's Dart code.";
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
final String targetPlatform = argResults['target-platform'];
@@ -89,7 +89,7 @@
);
if (mainPath == null) {
throwToolExit('Compiler terminated unexpectedly.');
- return;
+ return null;
}
// Build AOT snapshot.
@@ -152,7 +152,7 @@
// Catch the String exceptions thrown from the `runCheckedSync` methods below.
status?.cancel();
printError(error);
- return;
+ return null;
}
status?.stop();
@@ -165,5 +165,6 @@
} else {
printStatus(builtMessage);
}
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart
index c5794b7..cc2b4b6 100644
--- a/packages/flutter_tools/lib/src/commands/build_apk.dart
+++ b/packages/flutter_tools/lib/src/commands/build_apk.dart
@@ -6,6 +6,7 @@
import '../android/apk.dart';
import '../project.dart';
+import '../runner/flutter_command.dart' show FlutterCommandResult;
import 'build.dart';
class BuildApkCommand extends BuildSubCommand {
@@ -38,12 +39,13 @@
'suitable for deploying to app stores.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
await buildApk(
project: await FlutterProject.current(),
target: targetFile,
buildInfo: getBuildInfo(),
);
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/build_bundle.dart b/packages/flutter_tools/lib/src/commands/build_bundle.dart
index c46d6b5..ef82cf9 100644
--- a/packages/flutter_tools/lib/src/commands/build_bundle.dart
+++ b/packages/flutter_tools/lib/src/commands/build_bundle.dart
@@ -7,7 +7,7 @@
import '../base/common.dart';
import '../build_info.dart';
import '../bundle.dart';
-import '../runner/flutter_command.dart' show FlutterOptions;
+import '../runner/flutter_command.dart' show FlutterOptions, FlutterCommandResult;
import 'build.dart';
class BuildBundleCommand extends BuildSubCommand {
@@ -78,7 +78,7 @@
' iOS runtimes.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
final String targetPlatform = argResults['target-platform'];
@@ -108,5 +108,6 @@
fileSystemScheme: argResults['filesystem-scheme'],
fileSystemRoots: argResults['filesystem-root'],
);
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/build_flx.dart b/packages/flutter_tools/lib/src/commands/build_flx.dart
index c6b1bee..33e6946 100644
--- a/packages/flutter_tools/lib/src/commands/build_flx.dart
+++ b/packages/flutter_tools/lib/src/commands/build_flx.dart
@@ -5,6 +5,7 @@
import 'dart:async';
import '../globals.dart';
+import '../runner/flutter_command.dart' show FlutterCommandResult;
import 'build.dart';
class BuildFlxCommand extends BuildSubCommand {
@@ -18,11 +19,13 @@
final String usageFooter = 'FLX archives are deprecated.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
printError("'build flx' is no longer supported. Instead, use 'build "
"bundle' to build and assemble the application code and resources "
'for your app.');
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/build_ios.dart b/packages/flutter_tools/lib/src/commands/build_ios.dart
index b586dfd..e34c5eb 100644
--- a/packages/flutter_tools/lib/src/commands/build_ios.dart
+++ b/packages/flutter_tools/lib/src/commands/build_ios.dart
@@ -10,6 +10,7 @@
import '../build_info.dart';
import '../globals.dart';
import '../ios/mac.dart';
+import '../runner/flutter_command.dart' show FlutterCommandResult;
import 'build.dart';
class BuildIOSCommand extends BuildSubCommand {
@@ -48,7 +49,7 @@
final String description = 'Build an iOS application bundle (Mac OS X host only).';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final bool forSimulator = argResults['simulator'];
defaultBuildMode = forSimulator ? BuildMode.debug : BuildMode.release;
@@ -90,5 +91,7 @@
if (result.output != null)
printStatus('Built ${result.output}.');
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/channel.dart b/packages/flutter_tools/lib/src/commands/channel.dart
index 499fee1..0c21979 100644
--- a/packages/flutter_tools/lib/src/commands/channel.dart
+++ b/packages/flutter_tools/lib/src/commands/channel.dart
@@ -32,18 +32,20 @@
String get invocation => '${runner.executableName} $name [<channel-name>]';
@override
- Future<Null> runCommand() {
+ Future<FlutterCommandResult> runCommand() async {
switch (argResults.rest.length) {
case 0:
- return _listChannels(showAll: argResults['all']);
+ await _listChannels(showAll: argResults['all']);
+ return null;
case 1:
- return _switchChannel(argResults.rest[0]);
+ await _switchChannel(argResults.rest[0]);
+ return null;
default:
throw ToolExit('Too many arguments.\n$usage');
}
}
- Future<Null> _listChannels({ bool showAll }) async {
+ Future<void> _listChannels({ bool showAll }) async {
// Beware: currentBranch could contain PII. See getBranchName().
final String currentChannel = FlutterVersion.instance.channel;
final String currentBranch = FlutterVersion.instance.getBranchName();
@@ -76,7 +78,7 @@
throwToolExit('List channels failed: $result', exitCode: result);
}
- Future<Null> _switchChannel(String branchName) {
+ Future<void> _switchChannel(String branchName) {
printStatus("Switching to flutter channel '$branchName'...");
if (FlutterVersion.obsoleteBranches.containsKey(branchName)) {
final String alternative = FlutterVersion.obsoleteBranches[branchName];
@@ -87,7 +89,7 @@
return _checkout(branchName);
}
- static Future<Null> upgradeChannel() async {
+ static Future<void> upgradeChannel() async {
final String channel = FlutterVersion.instance.channel;
if (FlutterVersion.obsoleteBranches.containsKey(channel)) {
final String alternative = FlutterVersion.obsoleteBranches[channel];
@@ -96,7 +98,7 @@
}
}
- static Future<Null> _checkout(String branchName) async {
+ static Future<void> _checkout(String branchName) async {
// Get latest refs from upstream.
int result = await runCommandAndStreamOutput(
<String>['git', 'fetch'],
diff --git a/packages/flutter_tools/lib/src/commands/clean.dart b/packages/flutter_tools/lib/src/commands/clean.dart
index f2e65a3..740f108 100644
--- a/packages/flutter_tools/lib/src/commands/clean.dart
+++ b/packages/flutter_tools/lib/src/commands/clean.dart
@@ -22,17 +22,19 @@
final String description = 'Delete the build/ directory.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final Directory buildDir = fs.directory(getBuildDirectory());
printStatus("Deleting '${buildDir.path}${fs.path.separator}'.");
if (!buildDir.existsSync())
- return;
+ return null;
try {
buildDir.deleteSync(recursive: true);
} catch (error) {
throwToolExit(error.toString());
}
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/config.dart b/packages/flutter_tools/lib/src/commands/config.dart
index 2d60e8a..8109f8d 100644
--- a/packages/flutter_tools/lib/src/commands/config.dart
+++ b/packages/flutter_tools/lib/src/commands/config.dart
@@ -62,9 +62,11 @@
Future<String> get usagePath => null;
@override
- Future<Null> runCommand() async {
- if (argResults['machine'])
- return handleMachine();
+ Future<FlutterCommandResult> runCommand() async {
+ if (argResults['machine']) {
+ await handleMachine();
+ return null;
+ }
if (argResults.wasParsed('analytics')) {
final bool value = argResults['analytics'];
@@ -86,9 +88,11 @@
if (argResults.arguments.isEmpty)
printStatus(usage);
+
+ return null;
}
- Future<Null> handleMachine() async {
+ Future<void> handleMachine() async {
// Get all the current values.
final Map<String, dynamic> results = <String, dynamic>{};
for (String key in config.keys) {
diff --git a/packages/flutter_tools/lib/src/commands/create.dart b/packages/flutter_tools/lib/src/commands/create.dart
index 80cf399..27818f7 100644
--- a/packages/flutter_tools/lib/src/commands/create.dart
+++ b/packages/flutter_tools/lib/src/commands/create.dart
@@ -171,7 +171,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults.rest.isEmpty)
throwToolExit('No option specified for the output directory.\n$usage', exitCode: 2);
@@ -334,6 +334,8 @@
printStatus('Your application code is in $relativeAppMain');
}
}
+
+ return null;
}
Future<int> _generateApplication(Directory directory, Map<String, dynamic> templateContext) async {
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart
index de16efb..fe94ffd 100644
--- a/packages/flutter_tools/lib/src/commands/daemon.dart
+++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -50,14 +50,14 @@
final bool hidden;
@override
- Future<Null> runCommand() {
+ Future<FlutterCommandResult> runCommand() async {
printStatus('Starting device daemon...');
final NotifyingLogger notifyingLogger = NotifyingLogger();
Cache.releaseLockEarly();
- return context.run<Null>(
+ await context.run<void>(
body: () async {
final Daemon daemon = Daemon(
stdinCommandStream, stdoutCommandResponse,
@@ -71,6 +71,7 @@
Logger: () => notifyingLogger,
},
);
+ return null;
}
}
@@ -295,9 +296,9 @@
return Future<String>.value(protocolVersion);
}
- Future<Null> shutdown(Map<String, dynamic> args) {
+ Future<void> shutdown(Map<String, dynamic> args) {
Timer.run(daemon.shutdown);
- return Future<Null>.value();
+ return Future<void>.value();
}
@override
@@ -413,7 +414,7 @@
connectionInfoCompleter = Completer<DebugConnectionInfo>();
// We don't want to wait for this future to complete and callbacks won't fail.
// As it just writes to stdout.
- connectionInfoCompleter.future.then<Null>((DebugConnectionInfo info) { // ignore: unawaited_futures
+ connectionInfoCompleter.future.then<void>((DebugConnectionInfo info) { // ignore: unawaited_futures
final Map<String, dynamic> params = <String, dynamic>{
'port': info.httpUri.port,
'wsUri': info.wsUri.toString(),
@@ -435,7 +436,7 @@
_sendAppEvent(app, 'started');
});
- await app._runInZone<Null>(this, () async {
+ await app._runInZone<void>(this, () async {
try {
await runOrAttach(
connectionInfoCompleter: connectionInfoCompleter,
@@ -599,11 +600,11 @@
discoverer.onRemoved.listen(_onDeviceEvent('device.removed'));
}
- Future<Null> _serializeDeviceEvents = Future<Null>.value();
+ Future<void> _serializeDeviceEvents = Future<void>.value();
_DeviceEventHandler _onDeviceEvent(String eventName) {
return (Device device) {
- _serializeDeviceEvents = _serializeDeviceEvents.then<Null>((_) async {
+ _serializeDeviceEvents = _serializeDeviceEvents.then<void>((_) async {
sendEvent(eventName, await _deviceToMap(device));
});
};
@@ -620,17 +621,17 @@
}
/// Enable device events.
- Future<Null> enable(Map<String, dynamic> args) {
+ Future<void> enable(Map<String, dynamic> args) {
for (PollingDeviceDiscovery discoverer in _discoverers)
discoverer.startPolling();
- return Future<Null>.value();
+ return Future<void>.value();
}
/// Disable device events.
- Future<Null> disable(Map<String, dynamic> args) {
+ Future<void> disable(Map<String, dynamic> args) {
for (PollingDeviceDiscovery discoverer in _discoverers)
discoverer.stopPolling();
- return Future<Null>.value();
+ return Future<void>.value();
}
/// Forward a host port to a device port.
@@ -649,7 +650,7 @@
}
/// Removes a forwarded port.
- Future<Null> unforward(Map<String, dynamic> args) async {
+ Future<void> unforward(Map<String, dynamic> args) async {
final String deviceId = _getStringArg(args, 'deviceId', required: true);
final int devicePort = _getIntArg(args, 'devicePort', required: true);
final int hostPort = _getIntArg(args, 'hostPort', required: true);
@@ -798,8 +799,8 @@
return runner.restart(fullRestart: fullRestart, pauseAfterRestart: pauseAfterRestart);
}
- Future<Null> stop() => runner.stop();
- Future<Null> detach() => runner.detach();
+ Future<void> stop() => runner.stop();
+ Future<void> detach() => runner.detach();
void closeLogger() {
_logger.close();
@@ -832,7 +833,7 @@
return list.map<Map<String, dynamic>>(_emulatorToMap).toList();
}
- Future<Null> launch(Map<String, dynamic> args) async {
+ Future<void> launch(Map<String, dynamic> args) async {
final String emulatorId = _getStringArg(args, 'emulatorId', required: true);
final List<Emulator> matches =
await emulators.getEmulatorsMatching(emulatorId);
diff --git a/packages/flutter_tools/lib/src/commands/devices.dart b/packages/flutter_tools/lib/src/commands/devices.dart
index 75241b4..0613a98 100644
--- a/packages/flutter_tools/lib/src/commands/devices.dart
+++ b/packages/flutter_tools/lib/src/commands/devices.dart
@@ -19,7 +19,7 @@
final String description = 'List all connected devices.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (!doctor.canListAnything) {
throwToolExit(
"Unable to locate a development device; please run 'flutter doctor' for "
@@ -46,5 +46,7 @@
printStatus('${devices.length} connected ${pluralize('device', devices.length)}:\n');
await Device.printDevices(devices);
}
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/drive.dart b/packages/flutter_tools/lib/src/commands/drive.dart
index dcccb09..88daf78 100644
--- a/packages/flutter_tools/lib/src/commands/drive.dart
+++ b/packages/flutter_tools/lib/src/commands/drive.dart
@@ -14,6 +14,7 @@
import '../device.dart';
import '../globals.dart';
import '../resident_runner.dart';
+import '../runner/flutter_command.dart' show FlutterCommandResult;
import 'run.dart';
/// Runs integration (a.k.a. end-to-end) tests.
@@ -82,7 +83,7 @@
StreamSubscription<String> _deviceLogSubscription;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final String testFile = _getTestFile();
if (testFile == null)
throwToolExit(null);
@@ -133,6 +134,8 @@
await appStopper(this);
}
}
+
+ return null;
}
String _getTestFile() {
@@ -272,13 +275,13 @@
}
/// Runs driver tests.
-typedef TestRunner = Future<Null> Function(List<String> testArgs, String observatoryUri);
+typedef TestRunner = Future<void> Function(List<String> testArgs, String observatoryUri);
TestRunner testRunner = _runTests;
void restoreTestRunner() {
testRunner = _runTests;
}
-Future<Null> _runTests(List<String> testArgs, String observatoryUri) async {
+Future<void> _runTests(List<String> testArgs, String observatoryUri) async {
printTrace('Running driver tests.');
PackageMap.globalPackagesPath = fs.path.normalize(fs.path.absolute(PackageMap.globalPackagesPath));
diff --git a/packages/flutter_tools/lib/src/commands/emulators.dart b/packages/flutter_tools/lib/src/commands/emulators.dart
index e1ab0dd..4821519 100644
--- a/packages/flutter_tools/lib/src/commands/emulators.dart
+++ b/packages/flutter_tools/lib/src/commands/emulators.dart
@@ -33,7 +33,7 @@
final List<String> aliases = <String>['emulator'];
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (doctor.workflows.every((Workflow w) => !w.canListEmulators)) {
throwToolExit(
'Unable to find any emulator sources. Please ensure you have some\n'
@@ -54,6 +54,8 @@
: null;
await _listEmulators(searchText);
}
+
+ return null;
}
Future<void> _launchEmulator(String id) async {
@@ -81,7 +83,7 @@
}
}
- Future<Null> _createEmulator({String name}) async {
+ Future<void> _createEmulator({String name}) async {
final CreateEmulatorResult createResult =
await emulatorManager.createEmulator(name: name);
diff --git a/packages/flutter_tools/lib/src/commands/format.dart b/packages/flutter_tools/lib/src/commands/format.dart
index 546f267..9d5d56e1 100644
--- a/packages/flutter_tools/lib/src/commands/format.dart
+++ b/packages/flutter_tools/lib/src/commands/format.dart
@@ -43,7 +43,7 @@
String get invocation => '${runner.executableName} $name <one or more paths>';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults.rest.isEmpty) {
throwToolExit(
'No files specified to be formatted.\n'
@@ -77,5 +77,7 @@
final int result = await runCommandAndStreamOutput(command);
if (result != 0)
throwToolExit('Formatting failed: $result', exitCode: result);
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
index 9bb14cf..827cae0 100644
--- a/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
+++ b/packages/flutter_tools/lib/src/commands/fuchsia_reload.dart
@@ -102,7 +102,7 @@
bool _list;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
Cache.releaseLockEarly();
await _validateArguments();
@@ -130,7 +130,7 @@
// continue to work.
printStatus('Press Enter to exit.');
await stdin.first;
- return;
+ return null;
}
// Check that there are running VM services on the returned
@@ -168,8 +168,10 @@
printStatus('Connecting to $_modName');
await hotRunner.attach(viewFilter: isolateName);
} finally {
- await Future.wait<Null>(forwardedPorts.map<Future<Null>>((_PortForwarder pf) => pf.stop()));
+ await Future.wait<void>(forwardedPorts.map<Future<void>>((_PortForwarder pf) => pf.stop()));
}
+
+ return null;
}
// A cache of VMService connections.
@@ -286,7 +288,7 @@
'${extraTabs}External: $external\n';
}
- Future<Null> _listVMs(List<int> ports) async {
+ Future<void> _listVMs(List<int> ports) async {
for (int port in ports) {
final VMService vmService = await _getVMService(port);
await vmService.getVM();
@@ -295,7 +297,7 @@
}
}
- Future<Null> _validateArguments() async {
+ Future<void> _validateArguments() async {
final String fuchsiaBuildDir = argResults['build-dir'];
final String gnTarget = argResults['gn-target'];
@@ -485,7 +487,7 @@
return _PortForwarder._(address, remotePort, localPort, process, sshConfig);
}
- Future<Null> stop() async {
+ Future<void> stop() async {
// Kill the original ssh process if it is still around.
if (_process != null) {
printTrace('_PortForwarder killing ${_process.pid} for port $_localPort');
diff --git a/packages/flutter_tools/lib/src/commands/ide_config.dart b/packages/flutter_tools/lib/src/commands/ide_config.dart
index 415555c..f153b3b 100644
--- a/packages/flutter_tools/lib/src/commands/ide_config.dart
+++ b/packages/flutter_tools/lib/src/commands/ide_config.dart
@@ -218,7 +218,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults.rest.isNotEmpty) {
throwToolExit('Currently, the only supported IDE is IntelliJ\n$usage', exitCode: 2);
}
@@ -227,7 +227,7 @@
if (argResults['update-templates']) {
_handleTemplateUpdate();
- return;
+ return null;
}
final String flutterRoot = fs.path.absolute(Cache.flutterRoot);
@@ -250,6 +250,8 @@
printStatus('');
printStatus('Your IntelliJ configuration is now up to date. It is prudent to '
'restart IntelliJ, if running.');
+
+ return null;
}
int _renderTemplate(String templateName, String dirPath, Map<String, dynamic> context) {
diff --git a/packages/flutter_tools/lib/src/commands/inject_plugins.dart b/packages/flutter_tools/lib/src/commands/inject_plugins.dart
index 8c2ba4d..4acc452 100644
--- a/packages/flutter_tools/lib/src/commands/inject_plugins.dart
+++ b/packages/flutter_tools/lib/src/commands/inject_plugins.dart
@@ -24,7 +24,7 @@
final bool hidden;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final FlutterProject project = await FlutterProject.current();
refreshPluginsList(project);
await injectPlugins(project);
@@ -34,5 +34,7 @@
} else {
printStatus('This project does not use plugins, no GeneratedPluginRegistrants have been created.');
}
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/install.dart b/packages/flutter_tools/lib/src/commands/install.dart
index c2fcc58..ab43906 100644
--- a/packages/flutter_tools/lib/src/commands/install.dart
+++ b/packages/flutter_tools/lib/src/commands/install.dart
@@ -25,7 +25,7 @@
Device device;
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
await super.validateCommand();
device = await findTargetDevice();
if (device == null)
@@ -33,7 +33,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final ApplicationPackage package = await applicationPackages.getPackageForPlatform(await device.targetPlatform);
Cache.releaseLockEarly();
@@ -42,6 +42,8 @@
if (!await installApp(device, package))
throwToolExit('Install failed');
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/logs.dart b/packages/flutter_tools/lib/src/commands/logs.dart
index 56212ad..de8283f 100644
--- a/packages/flutter_tools/lib/src/commands/logs.dart
+++ b/packages/flutter_tools/lib/src/commands/logs.dart
@@ -37,7 +37,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults['clear'])
device.clearLogs();
@@ -76,5 +76,7 @@
await subscription.cancel();
if (result != 0)
throwToolExit('Error listening to $logReader logs.');
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
index efd5aa9..9e51d68 100644
--- a/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
+++ b/packages/flutter_tools/lib/src/commands/make_host_app_editable.dart
@@ -24,7 +24,7 @@
bool get hidden => true;
@override
- Future<Null> runCommand() async { }
+ Future<FlutterCommandResult> runCommand() async => null;
}
abstract class MakeHostAppEditableSubCommand extends FlutterCommand {
@@ -36,12 +36,13 @@
@override
@mustCallSuper
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await _project.ensureReadyForPlatformSpecificTooling();
+ return null;
}
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
await super.validateCommand();
_project = await FlutterProject.current();
if (!_project.isApplication)
@@ -57,9 +58,11 @@
String get description => 'Make an Android host app editable within a Flutter project';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
await _project.android.makeHostAppEditable();
+
+ return null;
}
}
@@ -71,8 +74,10 @@
String get description => 'Make an iOS host app editable within a Flutter project';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
await super.runCommand();
await _project.ios.makeHostAppEditable();
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/packages.dart b/packages/flutter_tools/lib/src/commands/packages.dart
index e010a35..b7b748a 100644
--- a/packages/flutter_tools/lib/src/commands/packages.dart
+++ b/packages/flutter_tools/lib/src/commands/packages.dart
@@ -28,7 +28,7 @@
final String description = 'Commands for managing Flutter packages.';
@override
- Future<Null> runCommand() async { }
+ Future<FlutterCommandResult> runCommand() async => null;
}
class PackagesGetCommand extends FlutterCommand {
@@ -65,7 +65,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults.rest.length > 1)
throwToolExit('Too many arguments.\n$usage');
@@ -89,6 +89,8 @@
await _runPubGet(exampleProject.directory.path);
await exampleProject.ensureReadyForPlatformSpecificTooling();
}
+
+ return null;
}
}
@@ -116,7 +118,10 @@
}
@override
- Future<Null> runCommand() => pub(<String>['run', 'test']..addAll(argResults.rest), context: PubContext.runTest, retry: false);
+ Future<FlutterCommandResult> runCommand() async {
+ await pub(<String>['run', 'test']..addAll(argResults.rest), context: PubContext.runTest, retry: false);
+ return null;
+ }
}
class PackagesPassthroughCommand extends FlutterCommand {
@@ -139,5 +144,8 @@
}
@override
- Future<Null> runCommand() => pubInteractively(argResults.rest);
+ Future<FlutterCommandResult> runCommand() async {
+ await pubInteractively(argResults.rest);
+ return null;
+ }
}
diff --git a/packages/flutter_tools/lib/src/commands/precache.dart b/packages/flutter_tools/lib/src/commands/precache.dart
index f2a15ab..b1fc4dc 100644
--- a/packages/flutter_tools/lib/src/commands/precache.dart
+++ b/packages/flutter_tools/lib/src/commands/precache.dart
@@ -23,7 +23,7 @@
bool get shouldUpdateCache => false;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults['all-platforms'])
cache.includeAllPlatforms = true;
@@ -31,5 +31,7 @@
printStatus('Already up-to-date.');
else
await cache.updateAll();
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/run.dart b/packages/flutter_tools/lib/src/commands/run.dart
index 40c3548..160cf29 100644
--- a/packages/flutter_tools/lib/src/commands/run.dart
+++ b/packages/flutter_tools/lib/src/commands/run.dart
@@ -237,7 +237,7 @@
bool get stayResident => argResults['resident'];
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
// When running with a prebuilt application, no command validation is
// necessary.
if (!runningWithPrebuiltApplication)
diff --git a/packages/flutter_tools/lib/src/commands/screenshot.dart b/packages/flutter_tools/lib/src/commands/screenshot.dart
index be39b24..e6ae9ba 100644
--- a/packages/flutter_tools/lib/src/commands/screenshot.dart
+++ b/packages/flutter_tools/lib/src/commands/screenshot.dart
@@ -76,22 +76,27 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
File outputFile;
if (argResults.wasParsed(_kOut))
outputFile = fs.file(argResults[_kOut]);
switch (argResults[_kType]) {
case _kDeviceType:
- return runScreenshot(outputFile);
+ await runScreenshot(outputFile);
+ return null;
case _kSkiaType:
- return runSkia(outputFile);
+ await runSkia(outputFile);
+ return null;
case _kRasterizerType:
- return runRasterizer(outputFile);
+ await runRasterizer(outputFile);
+ return null;
}
+
+ return null;
}
- Future<Null> runScreenshot(File outputFile) async {
+ Future<void> runScreenshot(File outputFile) async {
outputFile ??= getUniqueFile(fs.currentDirectory, 'flutter', 'png');
try {
await device.takeScreenshot(outputFile);
@@ -101,7 +106,7 @@
await showOutputFileInfo(outputFile);
}
- Future<Null> runSkia(File outputFile) async {
+ Future<void> runSkia(File outputFile) async {
final Map<String, dynamic> skp = await _invokeVmServiceRpc('_flutter.screenshotSkp');
outputFile ??= getUniqueFile(fs.currentDirectory, 'flutter', 'skp');
final IOSink sink = outputFile.openWrite();
@@ -138,7 +143,7 @@
}
}
- Future<Null> showOutputFileInfo(File outputFile) async {
+ Future<void> showOutputFileInfo(File outputFile) async {
final int sizeKB = (await outputFile.length()) ~/ 1024;
printStatus('Screenshot written to ${fs.path.relative(outputFile.path)} (${sizeKB}kB).');
}
diff --git a/packages/flutter_tools/lib/src/commands/shell_completion.dart b/packages/flutter_tools/lib/src/commands/shell_completion.dart
index 1d2ef16..0ef8ca5 100644
--- a/packages/flutter_tools/lib/src/commands/shell_completion.dart
+++ b/packages/flutter_tools/lib/src/commands/shell_completion.dart
@@ -42,14 +42,14 @@
Future<String> get usagePath => null;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
if (argResults.rest.length > 1) {
throwToolExit('Too many arguments given to bash-completion command.', exitCode: 1);
}
if (argResults.rest.isEmpty || argResults.rest.first == '-') {
stdout.write(generateCompletionScript(<String>['flutter']));
- return;
+ return null;
}
final File outputFile = fs.file(argResults.rest.first);
@@ -65,5 +65,7 @@
} on FileSystemException catch (error) {
throwToolExit('Unable to write shell completion setup script.\n$error', exitCode: 1);
}
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/stop.dart b/packages/flutter_tools/lib/src/commands/stop.dart
index 089c13d..9b61df5 100644
--- a/packages/flutter_tools/lib/src/commands/stop.dart
+++ b/packages/flutter_tools/lib/src/commands/stop.dart
@@ -25,7 +25,7 @@
Device device;
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
await super.validateCommand();
device = await findTargetDevice();
if (device == null)
@@ -33,7 +33,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final TargetPlatform targetPlatform = await device.targetPlatform;
final ApplicationPackage app = await applicationPackages.getPackageForPlatform(targetPlatform);
if (app == null) {
@@ -43,5 +43,7 @@
printStatus('Stopping apps on ${device.name}.');
if (!await device.stopApp(app))
throwToolExit(null);
+
+ return null;
}
}
diff --git a/packages/flutter_tools/lib/src/commands/test.dart b/packages/flutter_tools/lib/src/commands/test.dart
index 4fc19e9..978b589 100644
--- a/packages/flutter_tools/lib/src/commands/test.dart
+++ b/packages/flutter_tools/lib/src/commands/test.dart
@@ -89,7 +89,7 @@
String get description => 'Run Flutter unit tests for the current project.';
@override
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
await super.validateCommand();
if (!fs.isFileSync('pubspec.yaml')) {
throwToolExit(
diff --git a/packages/flutter_tools/lib/src/commands/trace.dart b/packages/flutter_tools/lib/src/commands/trace.dart
index 0b5d44e..a714199 100644
--- a/packages/flutter_tools/lib/src/commands/trace.dart
+++ b/packages/flutter_tools/lib/src/commands/trace.dart
@@ -44,7 +44,7 @@
'The --debug-port argument is required.';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
int observatoryPort;
if (argResults.wasParsed('debug-port')) {
observatoryPort = int.tryParse(argResults['debug-port']);
@@ -88,12 +88,14 @@
if (start)
await tracing.startTracing();
- await Future<Null>.delayed(duration);
+ await Future<void>.delayed(duration);
if (stop)
await _stopTracing(tracing);
+
+ return null;
}
- Future<Null> _stopTracing(Tracing tracing) async {
+ Future<void> _stopTracing(Tracing tracing) async {
final Map<String, dynamic> timeline = await tracing.stopTracingAndDownloadTimeline();
File localFile;
diff --git a/packages/flutter_tools/lib/src/commands/update_packages.dart b/packages/flutter_tools/lib/src/commands/update_packages.dart
index c6e988a..6c5f69d 100644
--- a/packages/flutter_tools/lib/src/commands/update_packages.dart
+++ b/packages/flutter_tools/lib/src/commands/update_packages.dart
@@ -82,7 +82,7 @@
@override
final bool hidden;
- Future<Null> _downloadCoverageData() async {
+ Future<void> _downloadCoverageData() async {
final Status status = logger.startProgress(
'Downloading lcov data for package:flutter...',
expectSlowOperation: true,
@@ -100,7 +100,7 @@
}
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
final List<Directory> packages = runner.getRepoPackages();
final bool upgrade = argResults['force-upgrade'];
@@ -163,7 +163,7 @@
);
}
printStatus('All pubspecs were up to date.');
- return;
+ return null;
}
if (upgrade || isPrintPaths || isPrintTransitiveClosure) {
@@ -265,12 +265,12 @@
tree._dependencyTree.forEach((String from, Set<String> to) {
printStatus('$from -> $to');
});
- return;
+ return null;
}
if (isPrintPaths) {
showDependencyPaths(from: argResults['from'], to: argResults['to'], tree: tree);
- return;
+ return null;
}
// Now that we have collected all the data, we can apply our dependency
@@ -302,6 +302,8 @@
final double seconds = timer.elapsedMilliseconds / 1000.0;
printStatus('\nRan \'pub\' $count time${count == 1 ? "" : "s"} and fetched coverage data in ${seconds.toStringAsFixed(1)}s.');
+
+ return null;
}
void showDependencyPaths({
diff --git a/packages/flutter_tools/lib/src/commands/upgrade.dart b/packages/flutter_tools/lib/src/commands/upgrade.dart
index eefa606..f7240e0 100644
--- a/packages/flutter_tools/lib/src/commands/upgrade.dart
+++ b/packages/flutter_tools/lib/src/commands/upgrade.dart
@@ -28,7 +28,7 @@
bool get shouldUpdateCache => false;
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
try {
await runCheckedAsync(<String>[
'git', 'rev-parse', '@{u}'
@@ -85,6 +85,8 @@
workingDirectory: Cache.flutterRoot,
allowReentrantFlutter: true,
);
+
+ return null;
}
// dev/benchmarks/complex_layout/lib/main.dart | 24 +-
diff --git a/packages/flutter_tools/lib/src/crash_reporting.dart b/packages/flutter_tools/lib/src/crash_reporting.dart
index b353780..39a8cb3 100644
--- a/packages/flutter_tools/lib/src/crash_reporting.dart
+++ b/packages/flutter_tools/lib/src/crash_reporting.dart
@@ -80,7 +80,7 @@
/// Sends one crash report.
///
/// The report is populated from data in [error] and [stackTrace].
- Future<Null> sendReport({
+ Future<void> sendReport({
@required dynamic error,
@required StackTrace stackTrace,
@required String getFlutterVersion(),
diff --git a/packages/flutter_tools/lib/src/dart/analysis.dart b/packages/flutter_tools/lib/src/dart/analysis.dart
index 481e4cb..189c174 100644
--- a/packages/flutter_tools/lib/src/dart/analysis.dart
+++ b/packages/flutter_tools/lib/src/dart/analysis.dart
@@ -27,7 +27,7 @@
int _id = 0;
- Future<Null> start() async {
+ Future<void> start() async {
final String snapshot =
fs.path.join(sdkPath, 'bin/snapshots/analysis_server.dart.snapshot');
final List<String> command = <String>[
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart
index b318302..062bc12 100644
--- a/packages/flutter_tools/lib/src/dart/pub.dart
+++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -69,7 +69,7 @@
/// [context] provides extra information to package server requests to
/// understand usage.
-Future<Null> pubGet({
+Future<void> pubGet({
@required PubContext context,
String directory,
bool skipIfAbsent = false,
@@ -135,7 +135,7 @@
///
/// [context] provides extra information to package server requests to
/// understand usage.
-Future<Null> pub(List<String> arguments, {
+Future<void> pub(List<String> arguments, {
@required PubContext context,
String directory,
MessageFilter filter,
@@ -161,7 +161,7 @@
if (code != 69) // UNAVAILABLE in https://github.com/dart-lang/pub/blob/master/lib/src/exit_codes.dart
break;
printStatus('$failureMessage ($code) -- attempting retry $attempts in $duration second${ duration == 1 ? "" : "s"}...');
- await Future<Null>.delayed(Duration(seconds: duration));
+ await Future<void>.delayed(Duration(seconds: duration));
if (duration < 64)
duration *= 2;
}
@@ -173,7 +173,7 @@
/// Runs pub in 'interactive' mode, directly piping the stdin stream of this
/// process to that of pub, and the stdout/stderr stream of pub to the corresponding
/// streams of this process.
-Future<Null> pubInteractively(List<String> arguments, {
+Future<void> pubInteractively(List<String> arguments, {
String directory,
}) async {
Cache.releaseLockEarly();
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index 54b7107..1236186 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -264,13 +264,13 @@
int _inFlight = 0;
Map<Uri, DevFSContent> _outstanding;
- Completer<Null> _completer;
+ Completer<void> _completer;
HttpClient _client;
- Future<Null> write(Map<Uri, DevFSContent> entries) async {
+ Future<void> write(Map<Uri, DevFSContent> entries) async {
_client = HttpClient();
_client.maxConnectionsPerHost = kMaxInFlight;
- _completer = Completer<Null>();
+ _completer = Completer<void>();
_outstanding = Map<Uri, DevFSContent>.from(entries);
_scheduleWrites();
await _completer.future;
@@ -290,7 +290,7 @@
}
}
- Future<Null> _scheduleWrite(
+ Future<void> _scheduleWrite(
Uri deviceUri,
DevFSContent content, [
int retry = 0,
@@ -304,7 +304,7 @@
final Stream<List<int>> contents = content.contentsAsCompressedStream();
await request.addStream(contents);
final HttpClientResponse response = await request.close();
- await response.drain<Null>();
+ await response.drain<void>();
} on SocketException catch (socketException, stackTrace) {
// We have one completer and can get up to kMaxInFlight errors.
if (!_completer.isCompleted)
@@ -322,7 +322,7 @@
}
_inFlight--;
if ((_outstanding.isEmpty) && (_inFlight == 0)) {
- _completer.complete(null);
+ _completer.complete();
} else {
_scheduleWrites();
}
@@ -392,7 +392,7 @@
return _baseUri;
}
- Future<Null> destroy() async {
+ Future<void> destroy() async {
printTrace('DevFS: Deleting filesystem on the device ($_baseUri)');
await _operations.destroy(fsName);
printTrace('DevFS: Deleted filesystem on the device ($_baseUri)');
@@ -701,7 +701,7 @@
);
}
- Future<Null> _scanPackages(Set<String> fileFilter) async {
+ Future<void> _scanPackages(Set<String> fileFilter) async {
StringBuffer sb;
final PackageMap packageMap = PackageMap(_packagesFilePath);
diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart
index 29f5c27..7704cea 100644
--- a/packages/flutter_tools/lib/src/device.dart
+++ b/packages/flutter_tools/lib/src/device.dart
@@ -275,7 +275,7 @@
bool get supportsScreenshot => false;
- Future<void> takeScreenshot(File outputFile) => Future<Null>.error('unimplemented');
+ Future<void> takeScreenshot(File outputFile) => Future<void>.error('unimplemented');
@override
int get hashCode => id.hashCode;
@@ -326,7 +326,7 @@
}
}
- static Future<Null> printDevices(List<Device> devices) async {
+ static Future<void> printDevices(List<Device> devices) async {
await descriptions(devices).forEach(printStatus);
}
}
@@ -405,7 +405,7 @@
Future<int> forward(int devicePort, {int hostPort});
/// Stops forwarding [forwardedPort].
- Future<Null> unforward(ForwardedPort forwardedPort);
+ Future<void> unforward(ForwardedPort forwardedPort);
}
/// Read the log for a particular device.
diff --git a/packages/flutter_tools/lib/src/disabled_usage.dart b/packages/flutter_tools/lib/src/disabled_usage.dart
index a499070..8be5a96 100644
--- a/packages/flutter_tools/lib/src/disabled_usage.dart
+++ b/packages/flutter_tools/lib/src/disabled_usage.dart
@@ -41,7 +41,7 @@
Stream<Map<String, dynamic>> get onSend => null;
@override
- Future<Null> ensureAnalyticsSent() => Future<Null>.value();
+ Future<void> ensureAnalyticsSent() => Future<void>.value();
@override
void printWelcome() { }
diff --git a/packages/flutter_tools/lib/src/doctor.dart b/packages/flutter_tools/lib/src/doctor.dart
index ca10b6e..f08c926 100644
--- a/packages/flutter_tools/lib/src/doctor.dart
+++ b/packages/flutter_tools/lib/src/doctor.dart
@@ -112,7 +112,7 @@
}
/// Print a summary of the state of the tooling, as well as how to get more info.
- Future<Null> summary() async {
+ Future<void> summary() async {
printStatus(await summaryText);
}
diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
index 7609979..2ce84d6 100644
--- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
+++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart
@@ -68,7 +68,7 @@
bool applicationNeedsRebuild = false,
bool usesTerminalUi = false,
bool ipv6 = false,
- }) => Future<Null>.error('unimplemented');
+ }) => Future<void>.error('unimplemented');
@override
Future<bool> stopApp(ApplicationPackage app) async {
diff --git a/packages/flutter_tools/lib/src/ios/cocoapods.dart b/packages/flutter_tools/lib/src/ios/cocoapods.dart
index 184a24c..26a903d 100644
--- a/packages/flutter_tools/lib/src/ios/cocoapods.dart
+++ b/packages/flutter_tools/lib/src/ios/cocoapods.dart
@@ -219,7 +219,7 @@
|| podfileLockFile.readAsStringSync() != manifestLockFile.readAsStringSync();
}
- Future<Null> _runPodInstall(IosProject iosProject, String engineDirectory) async {
+ Future<void> _runPodInstall(IosProject iosProject, String engineDirectory) async {
final Status status = logger.startProgress('Running pod install...', expectSlowOperation: true);
final ProcessResult result = await processManager.run(
<String>['pod', 'install', '--verbose'],
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index f567692..da6ee62 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -376,7 +376,7 @@
bool get supportsScreenshot => iMobileDevice.isInstalled;
@override
- Future<Null> takeScreenshot(File outputFile) async {
+ Future<void> takeScreenshot(File outputFile) async {
await iMobileDevice.takeScreenshot(outputFile);
}
}
@@ -475,7 +475,7 @@
String get name => device.name;
void _start() {
- iMobileDevice.startLogger().then<Null>((Process process) {
+ iMobileDevice.startLogger().then<void>((Process process) {
_process = process;
_process.stdout.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler());
_process.stderr.transform<String>(utf8.decoder).transform<String>(const LineSplitter()).listen(_newLineHandler());
@@ -576,7 +576,7 @@
}
@override
- Future<Null> unforward(ForwardedPort forwardedPort) async {
+ Future<void> unforward(ForwardedPort forwardedPort) async {
if (!_forwardedPorts.remove(forwardedPort)) {
// Not in list. Nothing to remove.
return null;
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index ffaa515..ea367fb 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -530,7 +530,7 @@
return generatedXcconfigFile.readAsStringSync();
}
-Future<Null> diagnoseXcodeBuildFailure(XcodeBuildResult result) async {
+Future<void> diagnoseXcodeBuildFailure(XcodeBuildResult result) async {
if (result.xcodeBuildExecution != null &&
result.xcodeBuildExecution.buildForPhysicalDevice &&
result.stdout?.contains('BCEROR') == true &&
@@ -625,7 +625,7 @@
return true;
}
-Future<Null> _addServicesToBundle(Directory bundle) async {
+Future<void> _addServicesToBundle(Directory bundle) async {
final List<Map<String, String>> services = <Map<String, String>>[];
printTrace('Trying to resolve native pub services.');
@@ -644,7 +644,7 @@
_copyServiceDefinitionsManifest(services, manifestFile);
}
-Future<Null> _copyServiceFrameworks(List<Map<String, String>> services, Directory frameworksDirectory) async {
+Future<void> _copyServiceFrameworks(List<Map<String, String>> services, Directory frameworksDirectory) async {
printTrace("Copying service frameworks to '${fs.path.absolute(frameworksDirectory.path)}'.");
frameworksDirectory.createSync(recursive: true);
for (Map<String, String> service in services) {
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index ea830e3..587d6c6 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -438,7 +438,7 @@
}
}
- Future<Null> ensureLogsExists() async {
+ Future<void> ensureLogsExists() async {
if (await sdkMajorVersion < 11) {
final File logFile = fs.file(logFilePath);
if (!logFile.existsSync())
@@ -506,7 +506,7 @@
@override
String get name => device.name;
- Future<Null> _start() async {
+ Future<void> _start() async {
// Device log.
await device.ensureLogsExists();
_deviceProcess = await launchDeviceLogTool(device);
@@ -695,7 +695,7 @@
}
@override
- Future<Null> unforward(ForwardedPort forwardedPort) async {
+ Future<void> unforward(ForwardedPort forwardedPort) async {
_ports.remove(forwardedPort);
}
}
diff --git a/packages/flutter_tools/lib/src/protocol_discovery.dart b/packages/flutter_tools/lib/src/protocol_discovery.dart
index ff6664a..cfd6b6f 100644
--- a/packages/flutter_tools/lib/src/protocol_discovery.dart
+++ b/packages/flutter_tools/lib/src/protocol_discovery.dart
@@ -50,9 +50,9 @@
/// The discovered service URI.
Future<Uri> get uri => _completer.future;
- Future<Null> cancel() => _stopScrapingLogs();
+ Future<void> cancel() => _stopScrapingLogs();
- Future<Null> _stopScrapingLogs() async {
+ Future<void> _stopScrapingLogs() async {
await _deviceLogSubscription?.cancel();
_deviceLogSubscription = null;
}
diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart
index 53cd22c..4a6c62b 100644
--- a/packages/flutter_tools/lib/src/resident_runner.dart
+++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -62,7 +62,7 @@
/// expressions requested during debugging of the application.
/// This ensures that the reload process follows the normal orchestration of
/// the Flutter Tools and not just the VM internal service.
- Future<Null> _connect({ReloadSources reloadSources, CompileExpression compileExpression}) async {
+ Future<void> _connect({ReloadSources reloadSources, CompileExpression compileExpression}) async {
if (vmServices != null)
return;
final List<VMService> localVmServices = List<VMService>(observatoryUris.length);
@@ -76,7 +76,7 @@
vmServices = localVmServices;
}
- Future<Null> refreshViews() async {
+ Future<void> refreshViews() async {
if (vmServices == null || vmServices.isEmpty)
return;
for (VMService service in vmServices)
@@ -95,12 +95,12 @@
.toList();
}
- Future<Null> getVMs() async {
+ Future<void> getVMs() async {
for (VMService service in vmServices)
await service.getVM();
}
- Future<Null> stopApps() async {
+ Future<void> stopApps() async {
final List<FlutterView> flutterViews = views;
if (flutterViews == null || flutterViews.isEmpty)
return;
@@ -110,7 +110,7 @@
view.uiIsolate.flutterExit(); // ignore: unawaited_futures
}
}
- await Future<Null>.delayed(const Duration(milliseconds: 100));
+ await Future<void>.delayed(const Duration(milliseconds: 100));
}
Future<Uri> setupDevFS(String fsName,
@@ -145,11 +145,11 @@
return reports;
}
- Future<Null> resetAssetDirectory() async {
+ Future<void> resetAssetDirectory() async {
final Uri deviceAssetsDirectoryUri = devFS.baseUri.resolveUri(
fs.path.toUri(getAssetBuildDirectory()));
assert(deviceAssetsDirectoryUri != null);
- await Future.wait<Null>(views.map<Future<Null>>(
+ await Future.wait<void>(views.map<Future<void>>(
(FlutterView view) => view.setAssetDirectory(deviceAssetsDirectoryUri)
));
}
@@ -172,42 +172,42 @@
return elements;
}
- Future<Null> debugDumpApp() async {
+ Future<void> debugDumpApp() async {
for (FlutterView view in views)
await view.uiIsolate.flutterDebugDumpApp();
}
- Future<Null> debugDumpRenderTree() async {
+ Future<void> debugDumpRenderTree() async {
for (FlutterView view in views)
await view.uiIsolate.flutterDebugDumpRenderTree();
}
- Future<Null> debugDumpLayerTree() async {
+ Future<void> debugDumpLayerTree() async {
for (FlutterView view in views)
await view.uiIsolate.flutterDebugDumpLayerTree();
}
- Future<Null> debugDumpSemanticsTreeInTraversalOrder() async {
+ Future<void> debugDumpSemanticsTreeInTraversalOrder() async {
for (FlutterView view in views)
await view.uiIsolate.flutterDebugDumpSemanticsTreeInTraversalOrder();
}
- Future<Null> debugDumpSemanticsTreeInInverseHitTestOrder() async {
+ Future<void> debugDumpSemanticsTreeInInverseHitTestOrder() async {
for (FlutterView view in views)
await view.uiIsolate.flutterDebugDumpSemanticsTreeInInverseHitTestOrder();
}
- Future<Null> toggleDebugPaintSizeEnabled() async {
+ Future<void> toggleDebugPaintSizeEnabled() async {
for (FlutterView view in views)
await view.uiIsolate.flutterToggleDebugPaintSizeEnabled();
}
- Future<Null> debugTogglePerformanceOverlayOverride() async {
+ Future<void> debugTogglePerformanceOverlayOverride() async {
for (FlutterView view in views)
await view.uiIsolate.flutterTogglePerformanceOverlayOverride();
}
- Future<Null> toggleWidgetInspector() async {
+ Future<void> toggleWidgetInspector() async {
for (FlutterView view in views)
await view.uiIsolate.flutterToggleWidgetInspector();
}
@@ -237,7 +237,7 @@
});
}
- Future<Null> stopEchoingDeviceLog() async {
+ Future<void> stopEchoingDeviceLog() async {
if (_loggingSubscription == null)
return;
await _loggingSubscription.cancel();
@@ -464,73 +464,73 @@
throw 'unsupported';
}
- Future<Null> stop() async {
+ Future<void> stop() async {
_stopped = true;
await stopEchoingDeviceLog();
await preStop();
return stopApp();
}
- Future<Null> detach() async {
+ Future<void> detach() async {
await stopEchoingDeviceLog();
await preStop();
appFinished();
}
- Future<Null> refreshViews() async {
+ Future<void> refreshViews() async {
for (FlutterDevice device in flutterDevices)
await device.refreshViews();
}
- Future<Null> _debugDumpApp() async {
+ Future<void> _debugDumpApp() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugDumpApp();
}
- Future<Null> _debugDumpRenderTree() async {
+ Future<void> _debugDumpRenderTree() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugDumpRenderTree();
}
- Future<Null> _debugDumpLayerTree() async {
+ Future<void> _debugDumpLayerTree() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugDumpLayerTree();
}
- Future<Null> _debugDumpSemanticsTreeInTraversalOrder() async {
+ Future<void> _debugDumpSemanticsTreeInTraversalOrder() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugDumpSemanticsTreeInTraversalOrder();
}
- Future<Null> _debugDumpSemanticsTreeInInverseHitTestOrder() async {
+ Future<void> _debugDumpSemanticsTreeInInverseHitTestOrder() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugDumpSemanticsTreeInInverseHitTestOrder();
}
- Future<Null> _debugToggleDebugPaintSizeEnabled() async {
+ Future<void> _debugToggleDebugPaintSizeEnabled() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.toggleDebugPaintSizeEnabled();
}
- Future<Null> _debugTogglePerformanceOverlayOverride() async {
+ Future<void> _debugTogglePerformanceOverlayOverride() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.debugTogglePerformanceOverlayOverride();
}
- Future<Null> _debugToggleWidgetInspector() async {
+ Future<void> _debugToggleWidgetInspector() async {
await refreshViews();
for (FlutterDevice device in flutterDevices)
await device.toggleWidgetInspector();
}
- Future<Null> _screenshot(FlutterDevice device) async {
+ Future<void> _screenshot(FlutterDevice device) async {
final Status status = logger.startProgress('Taking screenshot for ${device.device.name}...');
final File outputFile = getUniqueFile(fs.currentDirectory, 'flutter', 'png');
try {
@@ -568,7 +568,7 @@
}
}
- Future<Null> _debugTogglePlatform() async {
+ Future<void> _debugTogglePlatform() async {
await refreshViews();
final String from = await flutterDevices[0].views[0].uiIsolate.flutterPlatformOverride();
String to;
@@ -587,14 +587,14 @@
ProcessSignal.SIGUSR2.watch().listen(_handleSignal);
}
- Future<Null> _cleanUpAndExit(ProcessSignal signal) async {
+ Future<void> _cleanUpAndExit(ProcessSignal signal) async {
_resetTerminal();
await cleanupAfterSignal();
exit(0);
}
bool _processingUserRequest = false;
- Future<Null> _handleSignal(ProcessSignal signal) async {
+ Future<void> _handleSignal(ProcessSignal signal) async {
if (_processingUserRequest) {
printTrace('Ignoring signal: "$signal" because we are busy.');
return;
@@ -610,18 +610,18 @@
}
}
- Future<Null> stopEchoingDeviceLog() async {
- await Future.wait<Null>(
- flutterDevices.map<Future<Null>>((FlutterDevice device) => device.stopEchoingDeviceLog())
+ Future<void> stopEchoingDeviceLog() async {
+ await Future.wait<void>(
+ flutterDevices.map<Future<void>>((FlutterDevice device) => device.stopEchoingDeviceLog())
);
}
/// If the [reloadSources] parameter is not null the 'reloadSources' service
/// will be registered
- Future<Null> connectToServiceProtocol({String viewFilter,
+ Future<void> connectToServiceProtocol({String viewFilter,
ReloadSources reloadSources, CompileExpression compileExpression}) async {
if (!debuggingOptions.debuggingEnabled)
- return Future<Null>.error('Error the service protocol is not enabled.');
+ return Future<void>.error('Error the service protocol is not enabled.');
bool viewFound = false;
for (FlutterDevice device in flutterDevices) {
@@ -644,7 +644,7 @@
// This hooks up callbacks for when the connection stops in the future.
// We don't want to wait for them. We don't handle errors in those callbacks'
// futures either because they just print to logger and is not critical.
- service.done.then<Null>( // ignore: unawaited_futures
+ service.done.then<void>( // ignore: unawaited_futures
_serviceProtocolDone,
onError: _serviceProtocolError
).whenComplete(_serviceDisconnected);
@@ -652,14 +652,14 @@
}
}
- Future<Null> _serviceProtocolDone(dynamic object) {
+ Future<void> _serviceProtocolDone(dynamic object) {
printTrace('Service protocol connection closed.');
- return Future<Null>.value(object);
+ return Future<void>.value(object);
}
- Future<Null> _serviceProtocolError(dynamic error, StackTrace stack) {
+ Future<void> _serviceProtocolError(dynamic error, StackTrace stack) {
printTrace('Service protocol connection closed with an error: $error\n$stack');
- return Future<Null>.error(error, stack);
+ return Future<void>.error(error, stack);
}
/// Returns [true] if the input has been handled by this function.
@@ -734,7 +734,7 @@
return false;
}
- Future<Null> processTerminalInput(String command) async {
+ Future<void> processTerminalInput(String command) async {
// When terminal doesn't support line mode, '\n' can sneak into the input.
command = command.trim();
if (_processingUserRequest) {
@@ -810,9 +810,9 @@
return dependencyChecker.check(lastBuildTime);
}
- Future<Null> preStop() async { }
+ Future<void> preStop() async { }
- Future<Null> stopApp() async {
+ Future<void> stopApp() async {
for (FlutterDevice device in flutterDevices)
await device.stopApps();
appFinished();
@@ -841,11 +841,11 @@
}
/// Called when a signal has requested we exit.
- Future<Null> cleanupAfterSignal();
+ Future<void> cleanupAfterSignal();
/// Called right before we exit.
- Future<Null> cleanupAtFinish();
+ Future<void> cleanupAtFinish();
/// Called when the runner should handle a terminal command.
- Future<Null> handleTerminalCommand(String code);
+ Future<void> handleTerminalCommand(String code);
}
class OperationResult {
diff --git a/packages/flutter_tools/lib/src/run_cold.dart b/packages/flutter_tools/lib/src/run_cold.dart
index 18a12c5..32e415e 100644
--- a/packages/flutter_tools/lib/src/run_cold.dart
+++ b/packages/flutter_tools/lib/src/run_cold.dart
@@ -109,16 +109,16 @@
}
@override
- Future<Null> handleTerminalCommand(String code) async => null;
+ Future<void> handleTerminalCommand(String code) async => null;
@override
- Future<Null> cleanupAfterSignal() async {
+ Future<void> cleanupAfterSignal() async {
await stopEchoingDeviceLog();
await stopApp();
}
@override
- Future<Null> cleanupAtFinish() async {
+ Future<void> cleanupAtFinish() async {
await stopEchoingDeviceLog();
}
@@ -152,7 +152,7 @@
}
@override
- Future<Null> preStop() async {
+ Future<void> preStop() async {
for (FlutterDevice device in flutterDevices) {
// If we're running in release mode, stop the app using the device logic.
if (device.vmServices == null || device.vmServices.isEmpty)
diff --git a/packages/flutter_tools/lib/src/run_hot.dart b/packages/flutter_tools/lib/src/run_hot.dart
index 1d6a0a8..35d5f92 100644
--- a/packages/flutter_tools/lib/src/run_hot.dart
+++ b/packages/flutter_tools/lib/src/run_hot.dart
@@ -120,7 +120,7 @@
return true;
}
- Future<Null> _reloadSourcesService(String isolateId,
+ Future<void> _reloadSourcesService(String isolateId,
{ bool force = false, bool pause = false }) async {
// TODO(cbernaschina): check that isolateId is the id of the UI isolate.
final OperationResult result = await restart(pauseAfterRestart: pause);
@@ -276,7 +276,7 @@
}
@override
- Future<Null> handleTerminalCommand(String code) async {
+ Future<void> handleTerminalCommand(String code) async {
final String lower = code.toLowerCase();
if (lower == 'r') {
final OperationResult result = await restart(fullRestart: code == 'R');
@@ -340,7 +340,7 @@
return true;
}
- Future<Null> _evictDirtyAssets() async {
+ Future<void> _evictDirtyAssets() async {
for (FlutterDevice device in flutterDevices) {
if (device.devFS.assetPathsToEvict.isEmpty)
return;
@@ -357,7 +357,7 @@
device.devFS.assetPathsToEvict.clear();
}
- Future<Null> _cleanupDevFS() async {
+ Future<void> _cleanupDevFS() async {
for (FlutterDevice device in flutterDevices) {
if (device.devFS != null) {
// Cleanup the devFS; don't wait indefinitely, and ignore any errors.
@@ -371,7 +371,7 @@
}
}
- Future<Null> _launchInView(FlutterDevice device,
+ Future<void> _launchInView(FlutterDevice device,
Uri entryUri,
Uri packagesUri,
Uri assetsDirectoryUri) async {
@@ -379,7 +379,7 @@
await view.runFromSource(entryUri, packagesUri, assetsDirectoryUri);
}
- Future<Null> _launchFromDevFS(String mainScript) async {
+ Future<void> _launchFromDevFS(String mainScript) async {
final String entryUri = fs.path.relative(mainScript, from: projectRootPath);
for (FlutterDevice device in flutterDevices) {
final Uri deviceEntryUri = device.devFS.baseUri.resolveUri(
@@ -764,7 +764,7 @@
}
@override
- Future<Null> cleanupAfterSignal() async {
+ Future<void> cleanupAfterSignal() async {
await stopEchoingDeviceLog();
if (_didAttach) {
appFinished();
@@ -774,10 +774,10 @@
}
@override
- Future<Null> preStop() => _cleanupDevFS();
+ Future<void> preStop() => _cleanupDevFS();
@override
- Future<Null> cleanupAtFinish() async {
+ Future<void> cleanupAtFinish() async {
await _cleanupDevFS();
await stopEchoingDeviceLog();
}
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command.dart b/packages/flutter_tools/lib/src/runner/flutter_command.dart
index f9a25fe..cef4908 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command.dart
@@ -65,7 +65,7 @@
static const String kFileSystemScheme = 'filesystem-scheme';
}
-abstract class FlutterCommand extends Command<Null> {
+abstract class FlutterCommand extends Command<void> {
/// The currently executing command (or sub-command).
///
/// Will be `null` until the top-most command has begun execution.
@@ -294,10 +294,10 @@
/// and [runCommand] to execute the command
/// so that this method can record and report the overall time to analytics.
@override
- Future<Null> run() {
+ Future<void> run() {
final DateTime startTime = clock.now();
- return context.run<Null>(
+ return context.run<void>(
name: 'command',
overrides: <Type, Generator>{FlutterCommand: () => this},
body: () async {
@@ -451,7 +451,7 @@
@protected
@mustCallSuper
- Future<Null> validateCommand() async {
+ Future<void> validateCommand() async {
if (_requiresPubspecYaml && !PackageMap.isUsingCustomPackagesPath) {
// Don't expect a pubspec.yaml file if the user passed in an explicit .packages file path.
if (!fs.isFileSync('pubspec.yaml')) {
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index 68cc46f..dc9c2fda 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -38,7 +38,7 @@
const String kFlutterToolsScriptFileName = 'flutter_tools.dart'; // in //flutter/packages/flutter_tools/bin/
const String kFlutterEnginePackageName = 'sky_engine';
-class FlutterCommandRunner extends CommandRunner<Null> {
+class FlutterCommandRunner extends CommandRunner<void> {
FlutterCommandRunner({ bool verboseHelp = false }) : super(
'flutter',
'Manage your Flutter app development.\n'
@@ -191,7 +191,7 @@
usageException(error.message);
}
- Command<Null> command = commands[error.commands.first];
+ Command<void> command = commands[error.commands.first];
for (String commandName in error.commands.skip(1)) {
command = command.subcommands[commandName];
}
@@ -202,7 +202,7 @@
}
@override
- Future<Null> run(Iterable<String> args) {
+ Future<void> run(Iterable<String> args) {
// Have an invocation of 'build' print out it's sub-commands.
// TODO(ianh): Move this to the Build command itself somehow.
if (args.length == 1 && args.first == 'build')
@@ -212,7 +212,7 @@
}
@override
- Future<Null> runCommand(ArgResults topLevelResults) async {
+ Future<void> runCommand(ArgResults topLevelResults) async {
final Map<Type, dynamic> contextOverrides = <Type, dynamic>{
Flags: Flags(topLevelResults),
};
@@ -300,7 +300,7 @@
});
}
- await context.run<Null>(
+ await context.run<void>(
overrides: contextOverrides.map<Type, Generator>((Type type, dynamic value) {
return MapEntry<Type, Generator>(type, () => value);
}),
diff --git a/packages/flutter_tools/lib/src/services.dart b/packages/flutter_tools/lib/src/services.dart
index bdc61d2..934f05e 100644
--- a/packages/flutter_tools/lib/src/services.dart
+++ b/packages/flutter_tools/lib/src/services.dart
@@ -25,7 +25,7 @@
/// Loads all services specified in `pubspec.yaml`. Parses each service config file,
/// storing meta data in [services] and the list of jar files in [jars].
-Future<Null> parseServiceConfigs(
+Future<void> parseServiceConfigs(
List<Map<String, String>> services, { List<File> jars }
) async {
Map<String, Uri> packageMap;
diff --git a/packages/flutter_tools/lib/src/test/coverage_collector.dart b/packages/flutter_tools/lib/src/test/coverage_collector.dart
index 580b393..fda1785 100644
--- a/packages/flutter_tools/lib/src/test/coverage_collector.dart
+++ b/packages/flutter_tools/lib/src/test/coverage_collector.dart
@@ -40,7 +40,7 @@
/// has been run to completion so that all coverage data has been recorded.
///
/// The returned [Future] completes when the coverage is collected.
- Future<Null> collectCoverage(Process process, Uri observatoryUri) async {
+ Future<void> collectCoverage(Process process, Uri observatoryUri) async {
assert(process != null);
assert(observatoryUri != null);
diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index e353708..eb77279 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -190,7 +190,7 @@
enum _InitialResult { crashed, timedOut, connected }
enum _TestResult { crashed, harnessBailed, testBailed }
-typedef _Finalizer = Future<Null> Function();
+typedef _Finalizer = Future<void> Function();
class _CompilationRequest {
_CompilationRequest(this.path, this.result);
diff --git a/packages/flutter_tools/lib/src/tester/flutter_tester.dart b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
index 219d46b..467ad0b 100644
--- a/packages/flutter_tools/lib/src/tester/flutter_tester.dart
+++ b/packages/flutter_tools/lib/src/tester/flutter_tester.dart
@@ -246,5 +246,5 @@
List<ForwardedPort> get forwardedPorts => <ForwardedPort>[];
@override
- Future<Null> unforward(ForwardedPort forwardedPort) => null;
+ Future<void> unforward(ForwardedPort forwardedPort) => null;
}
diff --git a/packages/flutter_tools/lib/src/tracing.dart b/packages/flutter_tools/lib/src/tracing.dart
index 0a72a48..3fe3953 100644
--- a/packages/flutter_tools/lib/src/tracing.dart
+++ b/packages/flutter_tools/lib/src/tracing.dart
@@ -25,7 +25,7 @@
final VMService vmService;
- Future<Null> startTracing() async {
+ Future<void> startTracing() async {
await vmService.vm.setVMTimelineFlags(<String>['Compiler', 'Dart', 'Embedder', 'GC']);
await vmService.vm.clearVMTimeline();
}
@@ -41,7 +41,7 @@
await vmService.vm.setVMTimelineFlags(<String>[]);
timeline = await vmService.vm.getVMTimeline();
} else {
- final Completer<Null> whenFirstFrameRendered = Completer<Null>();
+ final Completer<void> whenFirstFrameRendered = Completer<void>();
(await vmService.onTimelineEvent).listen((ServiceEvent timelineEvent) {
final List<Map<String, dynamic>> events = timelineEvent.timelineEvents;
@@ -74,7 +74,7 @@
/// Download the startup trace information from the given observatory client and
/// store it to build/start_up_info.json.
-Future<Null> downloadStartupTrace(VMService observatory) async {
+Future<void> downloadStartupTrace(VMService observatory) async {
final String traceInfoFilePath = fs.path.join(getBuildDirectory(), 'start_up_info.json');
final File traceInfoFile = fs.file(traceInfoFilePath);
diff --git a/packages/flutter_tools/lib/src/usage.dart b/packages/flutter_tools/lib/src/usage.dart
index a49553d..8296d2a 100644
--- a/packages/flutter_tools/lib/src/usage.dart
+++ b/packages/flutter_tools/lib/src/usage.dart
@@ -122,7 +122,7 @@
/// Returns when the last analytics event has been sent, or after a fixed
/// (short) delay, whichever is less.
- Future<Null> ensureAnalyticsSent() async {
+ Future<void> ensureAnalyticsSent() async {
// TODO(devoncarew): This may delay tool exit and could cause some analytics
// events to not be reported. Perhaps we could send the analytics pings
// out-of-process from flutter_tools?
diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index da54493..896227b 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -158,7 +158,7 @@
}
}
- static Future<Null> _removeVersionCheckRemoteIfExists() async {
+ static Future<void> _removeVersionCheckRemoteIfExists() async {
final List<String> remotes = (await _run(<String>['git', 'remote']))
.split('\n')
.map<String>((String name) => name.trim()) // to account for OS-specific line-breaks
@@ -234,7 +234,7 @@
/// [checkFlutterVersionFreshness] is called after this. This is typically
/// used when switching channels so that stale information from another
/// channel doesn't linger.
- static Future<Null> resetFlutterVersionFreshnessCheck() async {
+ static Future<void> resetFlutterVersionFreshnessCheck() async {
try {
await Cache.instance.getStampFileFor(
VersionCheckStamp.kFlutterVersionCheckStampFile,
@@ -249,7 +249,7 @@
///
/// This function must run while [Cache.lock] is acquired because it reads and
/// writes shared cache files.
- Future<Null> checkFlutterVersionFreshness() async {
+ Future<void> checkFlutterVersionFreshness() async {
// Don't perform update checks if we're not on an official channel.
if (!officialChannels.contains(_channel)) {
return;
@@ -288,11 +288,11 @@
? newVersionAvailableMessage()
: versionOutOfDateMessage(frameworkAge);
printStatus(updateMessage, emphasis: true);
- await Future.wait<Null>(<Future<Null>>[
+ await Future.wait<void>(<Future<void>>[
stamp.store(
newTimeWarningWasPrinted: _clock.now(),
),
- Future<Null>.delayed(timeToPauseToLetUserReadTheMessage),
+ Future<void>.delayed(timeToPauseToLetUserReadTheMessage),
]);
}
}
@@ -418,7 +418,7 @@
);
}
- Future<Null> store({
+ Future<void> store({
DateTime newTimeVersionWasChecked,
DateTime newKnownRemoteVersion,
DateTime newTimeWarningWasPrinted,
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index e76b963..f83b50e 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -37,7 +37,7 @@
/// hot mode.
///
/// See: https://github.com/dart-lang/sdk/issues/30023
-typedef ReloadSources = Future<Null> Function(
+typedef ReloadSources = Future<void> Function(
String isolateId, {
bool force,
bool pause,
@@ -66,7 +66,7 @@
printTrace('This was attempt #$attempts. Will retry in $delay.');
// Delay next attempt.
- await Future<Null>.delayed(delay);
+ await Future<void>.delayed(delay);
// Back off exponentially.
delay *= 2;
@@ -260,7 +260,7 @@
/// Whether our connection to the VM service has been closed;
bool get isClosed => _peer.isClosed;
- Future<Null> get done async {
+ Future<void> get done async {
await _peer.done;
}
@@ -332,7 +332,7 @@
_getEventController(streamId).add(event);
}
- Future<Null> _streamListen(String streamId) async {
+ Future<void> _streamListen(String streamId) async {
if (!_listeningFor.contains(streamId)) {
_listeningFor.add(streamId);
await _sendRequest('streamListen', <String, dynamic>{ 'streamId': streamId });
@@ -344,7 +344,7 @@
return await _vm.reload();
}
- Future<Null> refreshViews() async {
+ Future<void> refreshViews() async {
if (!vm.isFlutterEngine)
return;
await vm.refreshViews();
@@ -948,7 +948,7 @@
return invokeRpcRaw('_getVMTimeline', timeout: kLongRequestTimeout);
}
- Future<Null> refreshViews() async {
+ Future<void> refreshViews() async {
if (!isFlutterEngine)
return;
_viewCache.clear();
@@ -1277,7 +1277,7 @@
Future<Map<String, dynamic>> flutterToggleWidgetInspector() => _flutterToggle('inspector.show');
- Future<Null> flutterDebugAllowBanner(bool show) async {
+ Future<void> flutterDebugAllowBanner(bool show) async {
await invokeFlutterExtensionRpcRaw(
'ext.flutter.debugAllowBanner',
params: <String, dynamic>{ 'enabled': show ? 'true' : 'false' },
@@ -1412,12 +1412,12 @@
}
// TODO(johnmccutchan): Report errors when running failed.
- Future<Null> runFromSource(Uri entryUri,
+ Future<void> runFromSource(Uri entryUri,
Uri packagesUri,
Uri assetsDirectoryUri) async {
final String viewId = id;
// When this completer completes the isolate is running.
- final Completer<Null> completer = Completer<Null>();
+ final Completer<void> completer = Completer<void>();
final StreamSubscription<ServiceEvent> subscription =
(await owner.vm.vmService.onIsolateEvent).listen((ServiceEvent event) {
// TODO(johnmccutchan): Listen to the debug stream and catch initial
@@ -1425,7 +1425,7 @@
if (event.kind == ServiceEvent.kIsolateRunnable) {
printTrace('Isolate is runnable.');
if (!completer.isCompleted)
- completer.complete(null);
+ completer.complete();
}
});
await owner.vm.runInView(viewId,
@@ -1437,7 +1437,7 @@
await subscription.cancel();
}
- Future<Null> setAssetDirectory(Uri assetsDirectory) async {
+ Future<void> setAssetDirectory(Uri assetsDirectory) async {
assert(assetsDirectory != null);
await owner.vmService.vm.invokeRpc<ServiceObject>('_flutter.setAssetBundlePath',
params: <String, dynamic>{
@@ -1449,7 +1449,7 @@
bool get hasIsolate => _uiIsolate != null;
- Future<Null> flushUIThreadTasks() async {
+ Future<void> flushUIThreadTasks() async {
await owner.vm.invokeRpcRaw('_flutter.flushUIThreadTasks',
params: <String, dynamic>{'isolateId': _uiIsolate.id});
}
diff --git a/packages/flutter_tools/lib/src/vmservice_record_replay.dart b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
index 0126f87..4749b58 100644
--- a/packages/flutter_tools/lib/src/vmservice_record_replay.dart
+++ b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
@@ -253,7 +253,7 @@
_ReplaySink(this.channel);
final ReplayVMServiceChannel channel;
- final Completer<Null> _completer = Completer<Null>();
+ final Completer<void> _completer = Completer<void>();
@override
Future<dynamic> close() {
diff --git a/packages/flutter_tools/test/analytics_test.dart b/packages/flutter_tools/test/analytics_test.dart
index ee99ace..14e5f0a 100644
--- a/packages/flutter_tools/test/analytics_test.dart
+++ b/packages/flutter_tools/test/analytics_test.dart
@@ -52,7 +52,7 @@
count = 0;
flutterUsage.enabled = false;
final DoctorCommand doctorCommand = DoctorCommand();
- final CommandRunner<Null>runner = createTestCommandRunner(doctorCommand);
+ final CommandRunner<void>runner = createTestCommandRunner(doctorCommand);
await runner.run(<String>['doctor']);
expect(count, 0);
}, overrides: <Type, Generator>{
@@ -67,7 +67,7 @@
flutterUsage.enabled = false;
final ConfigCommand command = ConfigCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['config']);
expect(count, 0);
@@ -100,7 +100,7 @@
mockTimes = <int>[1000, 2000];
when(mockDoctor.diagnose(androidLicenses: false, verbose: false)).thenAnswer((_) async => true);
final DoctorCommand command = DoctorCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['doctor']);
verify(mockClock.now()).called(2);
@@ -119,7 +119,7 @@
mockTimes = <int>[1000, 2000];
when(mockDoctor.diagnose(androidLicenses: false, verbose: false)).thenAnswer((_) async => false);
final DoctorCommand command = DoctorCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['doctor']);
verify(mockClock.now()).called(2);
diff --git a/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart b/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
index a1a584f..a30b8cb 100644
--- a/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_package_fonts_test.dart
@@ -60,7 +60,7 @@
..writeAsStringSync(packages);
}
- Future<Null> buildAndVerifyFonts(
+ Future<void> buildAndVerifyFonts(
List<String> localFonts,
List<String> packageFonts,
List<String> packages,
diff --git a/packages/flutter_tools/test/asset_bundle_package_test.dart b/packages/flutter_tools/test/asset_bundle_package_test.dart
index 17b3c42..9ed6f03 100644
--- a/packages/flutter_tools/test/asset_bundle_package_test.dart
+++ b/packages/flutter_tools/test/asset_bundle_package_test.dart
@@ -66,7 +66,7 @@
..writeAsStringSync(packages);
}
- Future<Null> buildAndVerifyAssets(
+ Future<void> buildAndVerifyAssets(
List<String> assets,
List<String> packages,
String expectedAssetManifest,
diff --git a/packages/flutter_tools/test/base/flags_test.dart b/packages/flutter_tools/test/base/flags_test.dart
index 99122de..e49a7af 100644
--- a/packages/flutter_tools/test/base/flags_test.dart
+++ b/packages/flutter_tools/test/base/flags_test.dart
@@ -11,12 +11,12 @@
import '../src/common.dart';
import '../src/context.dart';
-typedef _TestMethod = FutureOr<Null> Function();
+typedef _TestMethod = FutureOr<void> Function();
void main() {
Cache.disableLocking();
- Future<Null> runCommand(Iterable<String> flags, _TestMethod testMethod) async {
+ Future<void> runCommand(Iterable<String> flags, _TestMethod testMethod) async {
final List<String> args = <String>['test']..addAll(flags);
final _TestCommand command = _TestCommand(testMethod);
await createTestCommandRunner(command).run(args);
diff --git a/packages/flutter_tools/test/channel_test.dart b/packages/flutter_tools/test/channel_test.dart
index ed12ded..96c2e92 100644
--- a/packages/flutter_tools/test/channel_test.dart
+++ b/packages/flutter_tools/test/channel_test.dart
@@ -43,7 +43,7 @@
testUsingContext('list', () async {
final ChannelCommand command = ChannelCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['channel']);
expect(testLogger.errorText, hasLength(0));
// The bots may return an empty list of channels (network hiccup?)
@@ -65,7 +65,7 @@
)).thenAnswer((_) => Future<Process>.value(process));
final ChannelCommand command = ChannelCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['channel']);
verify(mockProcessManager.start(
@@ -106,7 +106,7 @@
)).thenAnswer((_) => Future<Process>.value(createMockProcess()));
final ChannelCommand command = ChannelCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['channel', 'beta']);
verify(mockProcessManager.start(
@@ -166,7 +166,7 @@
''');
final ChannelCommand command = ChannelCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['channel', 'beta']);
verify(mockProcessManager.start(
diff --git a/packages/flutter_tools/test/commands/analyze_once_test.dart b/packages/flutter_tools/test/commands/analyze_once_test.dart
index afae38e..229c569 100644
--- a/packages/flutter_tools/test/commands/analyze_once_test.dart
+++ b/packages/flutter_tools/test/commands/analyze_once_test.dart
@@ -191,7 +191,7 @@
}
}
-Future<Null> runCommand({
+Future<void> runCommand({
FlutterCommand command,
List<String> arguments,
List<String> statusTextContains,
diff --git a/packages/flutter_tools/test/commands/create_test.dart b/packages/flutter_tools/test/commands/create_test.dart
index 10c65eb..ff5bd11 100644
--- a/packages/flutter_tools/test/commands/create_test.dart
+++ b/packages/flutter_tools/test/commands/create_test.dart
@@ -234,7 +234,7 @@
when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--template=application', '--no-pub', '--org', 'com.foo.bar', projectDir.path]);
@@ -305,7 +305,7 @@
when(mockFlutterVersion.channel).thenReturn(frameworkChannel);
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--template=app', '--no-pub', '--org', 'com.foo.bar', projectDir.path]);
@@ -374,7 +374,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', projectDir.path]);
@@ -385,7 +385,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=app', projectDir.path]);
@@ -402,7 +402,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=app', projectDir.path]);
@@ -416,7 +416,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=plugin', projectDir.path]);
@@ -430,7 +430,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--no-pub', '--template=package', projectDir.path]);
@@ -555,7 +555,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
expect(
runner.run(<String>['create', projectDir.path, '--pub']),
@@ -567,7 +567,7 @@
testUsingContext('fails when file exists', () async {
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
final File existingFile = fs.file('${projectDir.path.toString()}/bad');
if (!existingFile.existsSync()) {
existingFile.createSync(recursive: true);
@@ -581,7 +581,7 @@
testUsingContext('fails when invalid package name', () async {
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
expect(
runner.run(<String>['create', fs.path.join(projectDir.path, 'invalidName')]),
throwsToolExit(message: '"invalidName" is not a valid Dart package name.'),
@@ -594,7 +594,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--pub', '--offline', projectDir.path]);
expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]pub')));
@@ -612,7 +612,7 @@
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create', '--pub', projectDir.path]);
expect(loggingProcessManager.commands.first, contains(matches(r'dart-sdk[\\/]bin[\\/]pub')));
@@ -625,7 +625,7 @@
);
}
-Future<Null> _createProject(
+Future<void> _createProject(
Directory dir,
List<String> createArgs,
List<String> expectedPaths, {
@@ -633,7 +633,7 @@
}) async {
Cache.flutterRoot = '../..';
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
final List<String> args = <String>['create'];
args.addAll(createArgs);
args.add(dir.path);
@@ -658,7 +658,7 @@
expect(failures, isEmpty, reason: failures.join('\n'));
}
-Future<Null> _createAndAnalyzeProject(
+Future<void> _createAndAnalyzeProject(
Directory dir,
List<String> createArgs,
List<String> expectedPaths, {
@@ -668,7 +668,7 @@
await _analyzeProject(dir.path);
}
-Future<Null> _analyzeProject(String workingDir) async {
+Future<void> _analyzeProject(String workingDir) async {
final String flutterToolsPath = fs.path.absolute(fs.path.join(
'bin',
'flutter_tools.dart',
@@ -691,7 +691,7 @@
expect(exec.exitCode, 0);
}
-Future<Null> _runFlutterTest(Directory workingDir, {String target}) async {
+Future<void> _runFlutterTest(Directory workingDir, {String target}) async {
final String flutterToolsPath = fs.path.absolute(fs.path.join(
'bin',
'flutter_tools.dart',
diff --git a/packages/flutter_tools/test/commands/daemon_test.dart b/packages/flutter_tools/test/commands/daemon_test.dart
index b1315ea..fbdd8c4 100644
--- a/packages/flutter_tools/test/commands/daemon_test.dart
+++ b/packages/flutter_tools/test/commands/daemon_test.dart
@@ -84,7 +84,7 @@
);
printStatus('daemon.logMessage test');
// Service the event loop.
- await Future<Null>.value();
+ await Future<void>.value();
}, zoneSpecification: ZoneSpecification(print: (Zone self, ZoneDelegate parent, Zone zone, String line) {
buffer.writeln(line);
}));
@@ -103,7 +103,7 @@
notifyingLogger: notifyingLogger
);
commands.add(<String, dynamic>{'id': 0, 'method': 'daemon.shutdown'});
- return daemon.onExit.then<Null>((int code) async {
+ return daemon.onExit.then<void>((int code) async {
await commands.close();
expect(code, 0);
});
diff --git a/packages/flutter_tools/test/commands/format_test.dart b/packages/flutter_tools/test/commands/format_test.dart
index 526fa38..f3878cf 100644
--- a/packages/flutter_tools/test/commands/format_test.dart
+++ b/packages/flutter_tools/test/commands/format_test.dart
@@ -31,7 +31,7 @@
srcFile.writeAsStringSync(original.replaceFirst('main()', 'main( )'));
final FormatCommand command = FormatCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['format', srcFile.path]);
final String formatted = srcFile.readAsStringSync();
@@ -48,7 +48,7 @@
srcFile.writeAsStringSync(nonFormatted);
final FormatCommand command = FormatCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['format', '--dry-run', srcFile.path]);
final String shouldNotFormatted = srcFile.readAsStringSync();
@@ -65,7 +65,7 @@
srcFile.writeAsStringSync(nonFormatted);
final FormatCommand command = FormatCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
expect(runner.run(<String>[
'format', '--dry-run', '--set-exit-if-changed', srcFile.path
diff --git a/packages/flutter_tools/test/commands/ide_config_test.dart b/packages/flutter_tools/test/commands/ide_config_test.dart
index 1e7a0fe..f3959a1 100644
--- a/packages/flutter_tools/test/commands/ide_config_test.dart
+++ b/packages/flutter_tools/test/commands/ide_config_test.dart
@@ -76,7 +76,7 @@
return fs.file(absPath).existsSync() || fs.directory(absPath).existsSync();
}
- Future<Null> _updateIdeConfig({
+ Future<void> _updateIdeConfig({
Directory dir,
List<String> args = const <String>[],
Map<String, String> expectedContents = const <String, String>{},
@@ -84,7 +84,7 @@
}) async {
dir ??= tempDir;
final IdeConfigCommand command = IdeConfigCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
final List<String> finalArgs = <String>['--flutter-root=${tempDir.absolute.path}', 'ide-config'];
finalArgs.addAll(args);
await runner.run(finalArgs);
diff --git a/packages/flutter_tools/test/commands/packages_test.dart b/packages/flutter_tools/test/commands/packages_test.dart
index 34dab67..c8cad27 100644
--- a/packages/flutter_tools/test/commands/packages_test.dart
+++ b/packages/flutter_tools/test/commands/packages_test.dart
@@ -57,9 +57,9 @@
return projectPath;
}
- Future<Null> runCommandIn(String projectPath, String verb, { List<String> args }) async {
+ Future<void> runCommandIn(String projectPath, String verb, { List<String> args }) async {
final PackagesCommand command = PackagesCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
final List<String> commandArgs = <String>['packages', verb];
if (args != null)
@@ -307,12 +307,12 @@
testUsingContext('publish', () async {
final PromptingProcess process = PromptingProcess();
mockProcessManager.processFactory = (List<String> commands) => process;
- final Future<Null> runPackages = createTestCommandRunner(PackagesCommand()).run(<String>['packages', 'pub', 'publish']);
- final Future<Null> runPrompt = process.showPrompt('Proceed (y/n)? ', <String>['hello', 'world']);
- final Future<Null> simulateUserInput = Future<Null>(() {
+ final Future<void> runPackages = createTestCommandRunner(PackagesCommand()).run(<String>['packages', 'pub', 'publish']);
+ final Future<void> runPrompt = process.showPrompt('Proceed (y/n)? ', <String>['hello', 'world']);
+ final Future<void> simulateUserInput = Future<void>(() {
mockStdio.simulateStdin('y');
});
- await Future.wait<Null>(<Future<Null>>[runPackages, runPrompt, simulateUserInput]);
+ await Future.wait<void>(<Future<void>>[runPackages, runPrompt, simulateUserInput]);
final List<String> commands = mockProcessManager.commands;
expect(commands, hasLength(2));
expect(commands[0], matches(r'dart-sdk[\\/]bin[\\/]pub'));
diff --git a/packages/flutter_tools/test/commands/test_test.dart b/packages/flutter_tools/test/commands/test_test.dart
index d0d3787..4c05295 100644
--- a/packages/flutter_tools/test/commands/test_test.dart
+++ b/packages/flutter_tools/test/commands/test_test.dart
@@ -15,7 +15,7 @@
// This test depends on some files in ///dev/automated_tests/flutter_test/*
-Future<Null> _testExclusionLock;
+Future<void> _testExclusionLock;
void main() {
group('flutter test should', () {
@@ -90,7 +90,7 @@
});
}
-Future<Null> _testFile(String testName, String workingDirectory, String testDirectory, {Matcher exitCode}) async {
+Future<void> _testFile(String testName, String workingDirectory, String testDirectory, {Matcher exitCode}) async {
exitCode ??= isNonZero;
final String fullTestExpectation = fs.path.join(testDirectory, '${testName}_expectation.txt');
final File expectationFile = fs.file(fullTestExpectation);
@@ -171,7 +171,7 @@
while (_testExclusionLock != null)
await _testExclusionLock;
- final Completer<Null> testExclusionCompleter = Completer<Null>();
+ final Completer<void> testExclusionCompleter = Completer<void>();
_testExclusionLock = testExclusionCompleter.future;
try {
return await Process.run(
diff --git a/packages/flutter_tools/test/compile_test.dart b/packages/flutter_tools/test/compile_test.dart
index 2428559..879304c 100644
--- a/packages/flutter_tools/test/compile_test.dart
+++ b/packages/flutter_tools/test/compile_test.dart
@@ -376,7 +376,7 @@
});
}
-Future<Null> _recompile(StreamController<List<int>> streamController,
+Future<void> _recompile(StreamController<List<int>> streamController,
ResidentCompiler generator, MockStdIn mockFrontendServerStdIn,
String mockCompilerOutput) async {
// Put content into the output stream after generator.recompile gets
diff --git a/packages/flutter_tools/test/crash_reporting_test.dart b/packages/flutter_tools/test/crash_reporting_test.dart
index 2eab591..efbbf21 100644
--- a/packages/flutter_tools/test/crash_reporting_test.dart
+++ b/packages/flutter_tools/test/crash_reporting_test.dart
@@ -173,7 +173,7 @@
String get name => 'crash';
@override
- Future<Null> runCommand() async {
+ Future<FlutterCommandResult> runCommand() async {
void fn1() {
throw StateError('Test bad state error');
}
@@ -187,6 +187,8 @@
}
fn3();
+
+ return null;
}
}
diff --git a/packages/flutter_tools/test/dart/pub_get_test.dart b/packages/flutter_tools/test/dart/pub_get_test.dart
index ec4773f..a4c4d2c 100644
--- a/packages/flutter_tools/test/dart/pub_get_test.dart
+++ b/packages/flutter_tools/test/dart/pub_get_test.dart
@@ -32,7 +32,7 @@
FakeAsync().run((FakeAsync time) {
expect(processMock.lastPubEnvironment, isNull);
expect(testLogger.statusText, '');
- pubGet(context: PubContext.flutterTests, checkLastModified: false).then((Null value) {
+ pubGet(context: PubContext.flutterTests, checkLastModified: false).then((void value) {
error = 'test completed unexpectedly';
}, onError: (dynamic thrownError) {
error = 'test failed unexpectedly: $thrownError';
@@ -102,7 +102,7 @@
MockDirectory.findCache = true;
expect(processMock.lastPubEnvironment, isNull);
expect(processMock.lastPubCache, isNull);
- pubGet(context: PubContext.flutterTests, checkLastModified: false).then((Null value) {
+ pubGet(context: PubContext.flutterTests, checkLastModified: false).then((void value) {
error = 'test completed unexpectedly';
}, onError: (dynamic thrownError) {
error = 'test failed unexpectedly: $thrownError';
@@ -128,7 +128,7 @@
MockDirectory.findCache = true;
expect(processMock.lastPubEnvironment, isNull);
expect(processMock.lastPubCache, isNull);
- pubGet(context: PubContext.flutterTests, checkLastModified: false).then((Null value) {
+ pubGet(context: PubContext.flutterTests, checkLastModified: false).then((void value) {
error = 'test completed unexpectedly';
}, onError: (dynamic thrownError) {
error = 'test failed unexpectedly: $thrownError';
@@ -213,7 +213,7 @@
Future<E> asFuture<E>([E futureValue]) => Future<E>.value();
@override
- Future<Null> cancel() => null;
+ Future<void> cancel() => null;
@override
dynamic noSuchMethod(Invocation invocation) => null;
diff --git a/packages/flutter_tools/test/devfs_test.dart b/packages/flutter_tools/test/devfs_test.dart
index d3c72bc..ab0ee76 100644
--- a/packages/flutter_tools/test/devfs_test.dart
+++ b/packages/flutter_tools/test/devfs_test.dart
@@ -438,7 +438,7 @@
@override
VM get vm => _vm;
- Future<Null> setUp() async {
+ Future<void> setUp() async {
try {
_server = await HttpServer.bind(InternetAddress.loopbackIPv6, 0);
_httpAddress = Uri.parse('http://[::1]:${_server.port}');
@@ -451,7 +451,7 @@
final String fsName = request.headers.value('dev_fs_name');
final String devicePath = utf8.decode(base64.decode(request.headers.value('dev_fs_uri_b64')));
messages.add('writeFile $fsName $devicePath');
- request.drain<List<int>>().then<Null>((List<int> value) {
+ request.drain<List<int>>().then<void>((List<int> value) {
request.response
..write('Got it')
..close();
@@ -459,7 +459,7 @@
});
}
- Future<Null> tearDown() async {
+ Future<void> tearDown() async {
await _server?.close();
}
@@ -522,7 +522,7 @@
tryToDelete(_tempDirs.removeLast());
}
-Future<Null> _createPackage(FileSystem fs, String pkgName, String pkgFileName, { bool doubleSlash = false }) async {
+Future<void> _createPackage(FileSystem fs, String pkgName, String pkgFileName, { bool doubleSlash = false }) async {
final Directory pkgTempDir = _newTempDir(fs);
String pkgFilePath = fs.path.join(pkgTempDir.path, pkgName, 'lib', pkgFileName);
if (doubleSlash) {
diff --git a/packages/flutter_tools/test/device_test.dart b/packages/flutter_tools/test/device_test.dart
index db32c3d..4b199c7 100644
--- a/packages/flutter_tools/test/device_test.dart
+++ b/packages/flutter_tools/test/device_test.dart
@@ -25,7 +25,7 @@
final List<Device> devices = <Device>[device1, device2, device3];
final DeviceManager deviceManager = TestDeviceManager(devices);
- Future<Null> expectDevice(String id, List<Device> expected) async {
+ Future<void> expectDevice(String id, List<Device> expected) async {
expect(await deviceManager.getDevicesById(id).toList(), expected);
}
await expectDevice('01abfc49119c410e', <Device>[device2]);
diff --git a/packages/flutter_tools/test/emulator_test.dart b/packages/flutter_tools/test/emulator_test.dart
index 0bb1499..59b276d 100644
--- a/packages/flutter_tools/test/emulator_test.dart
+++ b/packages/flutter_tools/test/emulator_test.dart
@@ -58,7 +58,7 @@
final TestEmulatorManager testEmulatorManager =
TestEmulatorManager(emulators);
- Future<Null> expectEmulator(String id, List<Emulator> expected) async {
+ Future<void> expectEmulator(String id, List<Emulator> expected) async {
expect(await testEmulatorManager.getEmulatorsMatching(id), expected);
}
diff --git a/packages/flutter_tools/test/project_test.dart b/packages/flutter_tools/test/project_test.dart
index c17d6f0..80248ba 100644
--- a/packages/flutter_tools/test/project_test.dart
+++ b/packages/flutter_tools/test/project_test.dart
@@ -234,7 +234,7 @@
mockXcodeProjectInterpreter = MockXcodeProjectInterpreter();
});
- void testWithMocks(String description, Future<Null> testMethod()) {
+ void testWithMocks(String description, Future<void> testMethod()) {
testUsingContext(description, testMethod, overrides: <Type, Generator>{
FileSystem: () => fs,
IOSWorkflow: () => mockIOSWorkflow,
@@ -365,7 +365,7 @@
/// Executes the [testMethod] in a context where the file system
/// is in memory.
-void testInMemory(String description, Future<Null> testMethod()) {
+void testInMemory(String description, Future<void> testMethod()) {
Cache.flutterRoot = getFlutterRoot();
final FileSystem testFileSystem = MemoryFileSystem(
style: platform.isWindows ? FileSystemStyle.windows : FileSystemStyle.posix,
@@ -406,7 +406,7 @@
}
}
-Future<Null> expectToolExitLater(Future<dynamic> future, Matcher messageMatcher) async {
+Future<void> expectToolExitLater(Future<dynamic> future, Matcher messageMatcher) async {
try {
await future;
fail('ToolExit expected, but nothing thrown');
diff --git a/packages/flutter_tools/test/protocol_discovery_test.dart b/packages/flutter_tools/test/protocol_discovery_test.dart
index d8499f2..c4e9050 100644
--- a/packages/flutter_tools/test/protocol_discovery_test.dart
+++ b/packages/flutter_tools/test/protocol_discovery_test.dart
@@ -240,7 +240,7 @@
List<ForwardedPort> get forwardedPorts => throw 'not implemented';
@override
- Future<Null> unforward(ForwardedPort forwardedPort) {
+ Future<void> unforward(ForwardedPort forwardedPort) {
throw 'not implemented';
}
}
diff --git a/packages/flutter_tools/test/resident_runner_test.dart b/packages/flutter_tools/test/resident_runner_test.dart
index fd50df4..30c07b8 100644
--- a/packages/flutter_tools/test/resident_runner_test.dart
+++ b/packages/flutter_tools/test/resident_runner_test.dart
@@ -18,13 +18,13 @@
String receivedCommand;
@override
- Future<Null> cleanupAfterSignal() => null;
+ Future<void> cleanupAfterSignal() => null;
@override
- Future<Null> cleanupAtFinish() => null;
+ Future<void> cleanupAtFinish() => null;
@override
- Future<Null> handleTerminalCommand(String code) async {
+ Future<void> handleTerminalCommand(String code) async {
receivedCommand = code;
}
diff --git a/packages/flutter_tools/test/runner/flutter_command_test.dart b/packages/flutter_tools/test/runner/flutter_command_test.dart
index 2e78161..7c3464a 100644
--- a/packages/flutter_tools/test/runner/flutter_command_test.dart
+++ b/packages/flutter_tools/test/runner/flutter_command_test.dart
@@ -188,7 +188,7 @@
@override
Future<FlutterCommandResult> runCommand() async {
- return commandFunction == null ? null : commandFunction();
+ return commandFunction == null ? null : await commandFunction();
}
}
diff --git a/packages/flutter_tools/test/src/common.dart b/packages/flutter_tools/test/src/common.dart
index 34627bf..a3e2039 100644
--- a/packages/flutter_tools/test/src/common.dart
+++ b/packages/flutter_tools/test/src/common.dart
@@ -68,7 +68,7 @@
return fs.path.normalize(fs.path.join(toolsPath, '..', '..'));
}
-CommandRunner<Null> createTestCommandRunner([FlutterCommand command]) {
+CommandRunner<void> createTestCommandRunner([FlutterCommand command]) {
final FlutterCommandRunner runner = FlutterCommandRunner();
if (command != null)
runner.addCommand(command);
@@ -113,7 +113,7 @@
arguments ??= <String>['--no-pub'];
final String projectPath = fs.path.join(temp.path, 'flutter_project');
final CreateCommand command = CreateCommand();
- final CommandRunner<Null> runner = createTestCommandRunner(command);
+ final CommandRunner<void> runner = createTestCommandRunner(command);
await runner.run(<String>['create']..addAll(arguments)..add(projectPath));
return projectPath;
}
diff --git a/packages/flutter_tools/test/src/context.dart b/packages/flutter_tools/test/src/context.dart
index e458d93..5721d0f 100644
--- a/packages/flutter_tools/test/src/context.dart
+++ b/packages/flutter_tools/test/src/context.dart
@@ -262,7 +262,7 @@
Stream<Map<String, dynamic>> get onSend => null;
@override
- Future<Null> ensureAnalyticsSent() => Future<Null>.value();
+ Future<void> ensureAnalyticsSent() => Future<void>.value();
@override
void printWelcome() { }
diff --git a/packages/flutter_tools/test/src/mocks.dart b/packages/flutter_tools/test/src/mocks.dart
index eec77f1..a22872a 100644
--- a/packages/flutter_tools/test/src/mocks.dart
+++ b/packages/flutter_tools/test/src/mocks.dart
@@ -173,7 +173,7 @@
/// A process that prompts the user to proceed, then asynchronously writes
/// some lines to stdout before it exits.
class PromptingProcess implements Process {
- Future<Null> showPrompt(String prompt, List<String> outputLines) async {
+ Future<void> showPrompt(String prompt, List<String> outputLines) async {
_stdoutController.add(utf8.encode(prompt));
final List<int> bytesOnStdin = await _stdin.future;
// Echo stdin to stdout.
@@ -234,11 +234,11 @@
}
@override
- Future<Null> addStream(Stream<List<int>> stream) {
- final Completer<Null> completer = Completer<Null>();
+ Future<void> addStream(Stream<List<int>> stream) {
+ final Completer<void> completer = Completer<void>();
stream.listen((List<int> data) {
add(data);
- }).onDone(() => completer.complete(null));
+ }).onDone(() => completer.complete());
return completer.future;
}
@@ -275,13 +275,13 @@
}
@override
- Future<Null> get done => close();
+ Future<void> get done => close();
@override
- Future<Null> close() async => null;
+ Future<void> close() async => null;
@override
- Future<Null> flush() async => null;
+ Future<void> flush() async => null;
}
/// A Stdio that collects stdout and supports simulated stdin.
diff --git a/packages/flutter_tools/test/utils_test.dart b/packages/flutter_tools/test/utils_test.dart
index 513a75d..17992c3 100644
--- a/packages/flutter_tools/test/utils_test.dart
+++ b/packages/flutter_tools/test/utils_test.dart
@@ -134,7 +134,7 @@
called = true;
}, const Duration(seconds: 1));
expect(called, false);
- await Future<Null>.delayed(kShortDelay);
+ await Future<void>.delayed(kShortDelay);
expect(called, true);
});
@@ -145,7 +145,7 @@
callCount++;
}, Duration(milliseconds: kShortDelay.inMilliseconds ~/ 2));
expect(callCount, 0);
- await Future<Null>.delayed(kShortDelay);
+ await Future<void>.delayed(kShortDelay);
expect(callCount, greaterThanOrEqualTo(2));
});
@@ -160,7 +160,7 @@
completer.complete(DateTime.now().difference(firstTime));
// introduce a delay
- await Future<Null>.delayed(kShortDelay);
+ await Future<void>.delayed(kShortDelay);
}, kShortDelay);
final Duration duration = await completer.future;
expect(duration, greaterThanOrEqualTo(Duration(milliseconds: kShortDelay.inMilliseconds * 2)));
diff --git a/packages/flutter_tools/tool/daemon_client.dart b/packages/flutter_tools/tool/daemon_client.dart
index d8a1d75..d064a86 100644
--- a/packages/flutter_tools/tool/daemon_client.dart
+++ b/packages/flutter_tools/tool/daemon_client.dart
@@ -18,7 +18,7 @@
// emulators: list emulators
// launch: launch an emulator
-Future<Null> main() async {
+Future<void> main() async {
daemon = await Process.start('dart', <String>['bin/flutter_tools.dart', 'daemon']);
print('daemon process started, pid: ${daemon.pid}');
@@ -82,7 +82,7 @@
});
// Print in the callback can't fail.
- daemon.exitCode.then<Null>((int code) { // ignore: unawaited_futures
+ daemon.exitCode.then<void>((int code) { // ignore: unawaited_futures
print('daemon exiting ($code)');
exit(code);
});