use conditional assignment (#9252)
diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index 0a08b1b..40ab664 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart
@@ -430,12 +430,7 @@ } @override - DevicePortForwarder get portForwarder { - if (_portForwarder == null) - _portForwarder = new _AndroidDevicePortForwarder(this); - - return _portForwarder; - } + DevicePortForwarder get portForwarder => _portForwarder ??= new _AndroidDevicePortForwarder(this); static final RegExp _timeRegExp = new RegExp(r'^\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}', multiLine: true);
diff --git a/packages/flutter_tools/lib/src/base/os.dart b/packages/flutter_tools/lib/src/base/os.dart index 65968aa..dc97811 100644 --- a/packages/flutter_tools/lib/src/base/os.dart +++ b/packages/flutter_tools/lib/src/base/os.dart
@@ -116,8 +116,7 @@ .trim()} ${results[2].stdout.trim()}"; } } - if (_name == null) - _name = super.name; + _name ??= super.name; } return _name; }
diff --git a/packages/flutter_tools/lib/src/cache.dart b/packages/flutter_tools/lib/src/cache.dart index 82846c6..a414421 100644 --- a/packages/flutter_tools/lib/src/cache.dart +++ b/packages/flutter_tools/lib/src/cache.dart
@@ -86,12 +86,7 @@ static String _dartSdkVersion; - static String get dartSdkVersion { - if (_dartSdkVersion == null) { - _dartSdkVersion = platform.version; - } - return _dartSdkVersion; - } + static String get dartSdkVersion => _dartSdkVersion ??= platform.version; static String _engineRevision;
diff --git a/packages/flutter_tools/lib/src/commands/daemon.dart b/packages/flutter_tools/lib/src/commands/daemon.dart index 6c7e0eb..16da917 100644 --- a/packages/flutter_tools/lib/src/commands/daemon.dart +++ b/packages/flutter_tools/lib/src/commands/daemon.dart
@@ -724,8 +724,7 @@ } dynamic _runInZone(AppDomain domain, dynamic method()) { - if (_logger == null) - _logger = new _AppRunLogger(domain, this, logToStdout: logToStdout); + _logger ??= new _AppRunLogger(domain, this, logToStdout: logToStdout); final AppContext appContext = new AppContext(); appContext.setVariable(Logger, _logger);
diff --git a/packages/flutter_tools/lib/src/dart/pub.dart b/packages/flutter_tools/lib/src/dart/pub.dart index 8f64421..7cafa18 100644 --- a/packages/flutter_tools/lib/src/dart/pub.dart +++ b/packages/flutter_tools/lib/src/dart/pub.dart
@@ -34,8 +34,7 @@ bool offline: false, bool checkLastModified: true }) async { - if (directory == null) - directory = fs.currentDirectory.path; + directory ??= fs.currentDirectory.path; final File pubSpecYaml = fs.file(fs.path.join(directory, 'pubspec.yaml')); final File dotPackages = fs.file(fs.path.join(directory, '.packages'));
diff --git a/packages/flutter_tools/lib/src/device.dart b/packages/flutter_tools/lib/src/device.dart index c910c2c..6ad3b4b 100644 --- a/packages/flutter_tools/lib/src/device.dart +++ b/packages/flutter_tools/lib/src/device.dart
@@ -97,8 +97,7 @@ void startPolling() { if (_timer == null) { - if (_items == null) - _items = new ItemListNotifier<Device>(); + _items ??= new ItemListNotifier<Device>(); _timer = new Timer.periodic(_pollingDuration, (Timer timer) { _items.updateWithNewList(pollingGetDevices()); }); @@ -112,20 +111,17 @@ @override List<Device> get devices { - if (_items == null) - _items = new ItemListNotifier<Device>.from(pollingGetDevices()); + _items ??= new ItemListNotifier<Device>.from(pollingGetDevices()); return _items.items; } Stream<Device> get onAdded { - if (_items == null) - _items = new ItemListNotifier<Device>(); + _items ??= new ItemListNotifier<Device>(); return _items.onAdded; } Stream<Device> get onRemoved { - if (_items == null) - _items = new ItemListNotifier<Device>(); + _items ??= new ItemListNotifier<Device>(); return _items.onRemoved; }
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart index 36291ab..8f642db 100644 --- a/packages/flutter_tools/lib/src/ios/devices.dart +++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -357,12 +357,7 @@ } @override - DevicePortForwarder get portForwarder { - if (_portForwarder == null) - _portForwarder = new _IOSDevicePortForwarder(this); - - return _portForwarder; - } + DevicePortForwarder get portForwarder => _portForwarder ??= new _IOSDevicePortForwarder(this); @override void clearLogs() {
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart index 75e2129..3ecd761 100644 --- a/packages/flutter_tools/lib/src/ios/simulators.dart +++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -565,12 +565,7 @@ } @override - DevicePortForwarder get portForwarder { - if (_portForwarder == null) - _portForwarder = new _IOSSimulatorDevicePortForwarder(this); - - return _portForwarder; - } + DevicePortForwarder get portForwarder => _portForwarder ??= new _IOSSimulatorDevicePortForwarder(this); @override void clearLogs() {
diff --git a/packages/flutter_tools/lib/src/resident_runner.dart b/packages/flutter_tools/lib/src/resident_runner.dart index f7188f9..94ab4bc3 100644 --- a/packages/flutter_tools/lib/src/resident_runner.dart +++ b/packages/flutter_tools/lib/src/resident_runner.dart
@@ -406,8 +406,7 @@ /// Given the value of the --target option, return the path of the Dart file /// where the app's main function should be. String findMainDartFile([String target]) { - if (target == null) - target = ''; + target ??= ''; final String targetPath = fs.path.absolute(target); if (fs.isDirectorySync(targetPath)) return fs.path.join(targetPath, 'lib', 'main.dart');
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 c9c6838..99f74fe 100644 --- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart +++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -286,8 +286,7 @@ engineSourcePath = null; } - if (engineSourcePath == null) - engineSourcePath = _tryEnginePath(fs.path.join(Cache.flutterRoot, '../engine/src')); + engineSourcePath ??= _tryEnginePath(fs.path.join(Cache.flutterRoot, '../engine/src')); if (engineSourcePath == null) { printError('Unable to detect local Flutter engine build directory.\n' @@ -327,8 +326,7 @@ } static void initFlutterRoot() { - if (Cache.flutterRoot == null) - Cache.flutterRoot = _defaultFlutterRoot; + Cache.flutterRoot ??= _defaultFlutterRoot; } /// Get all pub packages in the Flutter repo.
diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index bd70231..d9afbfd 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -266,11 +266,9 @@ serviceObject = new Isolate._empty(owner.vm); break; } - if (serviceObject == null) { - // If we don't have a model object for this service object type, as a - // fallback return a ServiceMap object. - serviceObject = new ServiceMap._empty(owner); - } + // If we don't have a model object for this service object type, as a + // fallback return a ServiceMap object. + serviceObject ??= new ServiceMap._empty(owner); // We have now constructed an emtpy service object, call update to // populate it. serviceObject.update(map);
diff --git a/packages/flutter_tools/lib/src/vmservice_record_replay.dart b/packages/flutter_tools/lib/src/vmservice_record_replay.dart index 2b47e1c..bfde734 100644 --- a/packages/flutter_tools/lib/src/vmservice_record_replay.dart +++ b/packages/flutter_tools/lib/src/vmservice_record_replay.dart
@@ -43,19 +43,12 @@ @override Stream<String> get stream { - if (_streamRecorder == null) { - _streamRecorder = new _RecordingStream(super.stream, _messages); - } + _streamRecorder ??= new _RecordingStream(super.stream, _messages); return _streamRecorder.stream; } @override - StreamSink<String> get sink { - if (_sinkRecorder == null) { - _sinkRecorder = new _RecordingSink(super.sink, _messages); - } - return _sinkRecorder; - } + StreamSink<String> get sink => _sinkRecorder ??= new _RecordingSink(super.sink, _messages); } /// Base class for request and response JSON-rpc messages. @@ -250,11 +243,7 @@ } @override - StreamSink<String> get sink { - if (_replaySink == null) - _replaySink = new _ReplaySink(this); - return _replaySink; - } + StreamSink<String> get sink => _replaySink ??= new _ReplaySink(this); @override Stream<String> get stream => _controller.stream;